我想问一下,是否可以从命令行输出当前的PHP扩展API版本,即:
例如,我使用PHP5.6.2 (API 20131226),我还安装了PHP5.5.18 (API 20121212),我可以使用正确的命令在这两个版本之间切换,有方法从终端查看当前执行的PHP版本使用哪个API吗?
检查了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 Rethans5.5.18 php命令也是如此。
那么,实际上,有什么方法可以做到这一点吗?
编辑:找到答案,查看下面的帖子,或者@RichardBernards对这篇文章的评论。
发布于 2014-12-17 10:17:55
仔细看看php -i的输出。在加载的配置文件列表之后,它将显示以下信息:
PHP API => 20121113
PHP Extension => 20121212
Zend Extension => 220121212
Zend Extension Build => API220121212,NTS
PHP Extension Build => API20121212,NTS你可以像这样提取你需要的东西:
php -i | grep 'PHP API'将产生:
PHP API => 20121113如果只需要提取数字(将其与另一个数字进行比较或在脚本中使用,等等),则可以将结果进一步传递到cut或sed,以删除额外的字符:
php -i | grep 'PHP API' | cut -f2 -d'>'或者更好
php -i | grep 'PHP API' | sed -e 's/PHP API => //'带有cut的将产生前面有空格字符的数字,而带有sed的则只产生数字,而不是填充。
发布于 2020-09-17 16:07:26
这提供了扩展dir,最后一部分是API版本:
php-config --extension-dir
它也是PHP特定版本的可选数据,例如7.2:
php-config7.2 --extension-dir
通过将API版本传递给basename,只提取API版本:
basename $(php-config7.2 --extension-dir)
发布于 2014-12-17 09:29:22
也许这个能帮上忙?
php -i | grep versionhttps://stackoverflow.com/questions/27522128
复制相似问题