ton*_*nix 1 php version php-extension
我想问一下是否可以从命令行输出当前的PHP扩展API版本,即:
例如,我使用 PHP 5.6.2 (API 20131226) 并且我还安装了 PHP 5.5.18 (API 20121212),我可以使用正确的php命令在两个版本之间切换,有没有办法查看我使用的是哪个 API对于从终端当前执行的 PHP 版本的 PHP??
检查man php但没有发现任何与此需求相关的内容。也php -v或php --version没有向我展示 API 版本:
$ php -v # or php --version
PHP 5.6.2 (cli) (built: Oct 20 2014 16:21:27)
Copyright (c) 1997-2014 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2014 Zend Technologies
with Xdebug v2.2.5, Copyright (c) 2002-2014, by Derick Rethans
Run Code Online (Sandbox Code Playgroud)
5.5.18 php CLI 命令也是如此。
那么,实际上,有没有办法做到这一点?
编辑:找到答案,查看下面的帖子,或@RichardBernards 对这篇文章的评论。
仔细看看 的输出php -i。在加载的配置文件列表之后,它显示了以下信息:
PHP API => 20121113
PHP Extension => 20121212
Zend Extension => 220121212
Zend Extension Build => API220121212,NTS
PHP Extension Build => API20121212,NTS
Run Code Online (Sandbox Code Playgroud)
您可以像这样提取您需要的内容:
php -i | grep 'PHP API'
Run Code Online (Sandbox Code Playgroud)
将产生:
PHP API => 20121113
Run Code Online (Sandbox Code Playgroud)
如果您只需要提取数字(将它与另一个数字进行比较或在脚本中使用它等),您可以将结果进一步传送到cut或sed删除多余的字符:
php -i | grep 'PHP API' | cut -f2 -d'>'
Run Code Online (Sandbox Code Playgroud)
或更好
php -i | grep 'PHP API' | sed -e 's/PHP API => //'
Run Code Online (Sandbox Code Playgroud)
一个 withcut将产生前面带有空格字符sed的数字,一个 with将只产生数字,没有填充。
| 归档时间: |
|
| 查看次数: |
3197 次 |
| 最近记录: |