首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >是否有可能从命令行中找到当前的PHP扩展API?

问是否有可能从命令行中找到当前的PHP扩展API?
EN

Stack Overflow用户
提问于 2014-12-17 09:24:04
回答 3查看 3.9K关注 0票数 1

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

例如,我使用PHP5.6.2 (API 20131226),我还安装了PHP5.5.18 (API 20121212),我可以使用正确的命令在这两个版本之间切换,有方法从终端查看当前执行的PHP版本使用哪个API吗?

检查了man php,但没有发现任何与此相关的需求。另外,php -v或php --version没有向我展示API版本:

代码语言:javascript
复制
$ 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命令也是如此。

那么,实际上,有什么方法可以做到这一点吗?

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

EN

回答 3

Stack Overflow用户

发布于 2014-12-17 10:17:55

仔细看看php -i的输出。在加载的配置文件列表之后,它将显示以下信息:

代码语言:javascript
复制
PHP API => 20121113
PHP Extension => 20121212
Zend Extension => 220121212
Zend Extension Build => API220121212,NTS
PHP Extension Build => API20121212,NTS

你可以像这样提取你需要的东西:

代码语言:javascript
复制
php -i | grep 'PHP API'

将产生:

代码语言:javascript
复制
PHP API => 20121113

如果只需要提取数字(将其与另一个数字进行比较或在脚本中使用,等等),则可以将结果进一步传递到cut或sed,以删除额外的字符:

代码语言:javascript
复制
php -i | grep 'PHP API' | cut -f2 -d'>'

或者更好

代码语言:javascript
复制
php -i | grep 'PHP API' | sed -e 's/PHP API => //'

带有cut的将产生前面有空格字符的数字,而带有sed的则只产生数字,而不是填充。

票数 7
EN

Stack Overflow用户

发布于 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)

票数 1
EN

Stack Overflow用户

发布于 2014-12-17 09:29:22

也许这个能帮上忙?

代码语言:javascript
复制
php -i | grep version
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27522128

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档