Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
可以从命令行中找到当前的PHP扩展API吗?_Php_Version_Php Extension - Fatal编程技术网

可以从命令行中找到当前的PHP扩展API吗?

可以从命令行中找到当前的PHP扩展API吗?,php,version,php-extension,Php,Version,Php Extension,我想问一下,是否可以从命令行输出当前的PHP扩展API版本,即: 例如,我使用PHP5.6.2(API 20131226),我也安装了PHP5.5.18(API 20121212),我可以使用适当的PHP命令在两个版本之间切换,有没有办法从终端查看当前执行的PHP版本使用的API 检查了manphp,但没有找到任何与此需求相关的内容。 而且php-v或php--version没有显示API版本: $ php -v # or php --version PHP 5.6.2 (cli) (built

我想问一下,是否可以从命令行输出当前的PHP扩展API版本,即:

例如,我使用PHP5.6.2(API 20131226),我也安装了PHP5.5.18(API 20121212),我可以使用适当的PHP命令在两个版本之间切换,有没有办法从终端查看当前执行的PHP版本使用的API

检查了
manphp
,但没有找到任何与此需求相关的内容。 而且
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
5.5.18 php CLI命令也是如此

那么,实际上,有没有办法做到这一点


编辑:找到答案,检查下面的帖子,或者@RichardBernards对这篇帖子的评论。

也许这会有所帮助

php -i | grep version

也许这能帮上忙

php -i | grep version

仔细查看
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
的一个将只生成数字,没有填充。

请仔细查看
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
的将只生成数字,没有填充。

这提供了扩展目录,最后一部分是API版本:
php配置——扩展目录

还可以为特定版本的PHP选择数据,例如7.2:
php-config7.2——扩展目录

通过将其传递给basename来提取API版本:

basename$(php-config7.2——扩展目录)

这提供了扩展目录,最后一部分是API版本:
php配置——扩展目录

还可以为特定版本的PHP选择数据,例如7.2:
php-config7.2——扩展目录

通过将其传递给basename来提取API版本:

basename$(php-config7.2——扩展目录)

我认为phpize的shell脚本可以进一步帮助您。阅读下面的答案以获得解释:是的,你在我发帖时发表了评论,这篇帖子,我没有意识到我可以用
phpize
,无论如何,谢谢你的关注!我认为phpize的shell脚本可以进一步帮助您。阅读下面的答案以获得解释:是的,你在我发帖时发表了评论,这篇帖子,我没有意识到我可以用
phpize
,无论如何,谢谢你的关注
phpize-v | grep Zend\M | grep-oE'([0-9]+)'
仅用于API编号,因此可以将其存储在变量中
phpize-v | grep Zend\M | grep-oE'([0-9]+)'
仅用于API编号,因此可以将其存储在变量中!