它必须在phpinfo()转储中的某个地方,但我只是不知道在哪里。它应该在“附加模块”部分下吗?别的地方吗?我试图弄清楚为什么一些扩展似乎没有加载,但我甚至不知道我应该在哪里看。


当前回答

运行命令。你会得到安装的扩展:

php -r "print_r(get_loaded_extensions());"

或运行此命令获取所有模块的安装和卸载版本

dpkg -l | grep php5

其他回答

你想要运行:

 php -m 

在命令行中,

或者如果你有打开服务器配置文件的权限

/etc/php5/apache2/php.ini

看看所有的扩展,

你甚至可以通过像这样在开和关之间切换来启用或禁用它们

<Extension_name> = <[On | Off]>

我也遇到了同样的问题,我需要知道安装了哪些模块及其版本。现在,我的解决方案是让PHP从命令行告诉我。注意,“Core”是PHP。

php -r '$all = get_loaded_extensions(); foreach($all as $i) { $ext = new ReflectionExtension($i); $ver = $ext->getVersion(); echo "$i - $ver" . PHP_EOL;}'

输出:

Core - 7.4.30
date - 7.4.30
libxml - 7.4.30
...
mcrypt - 1.0.5
bcmath - 7.4.30
bz2 - 7.4.30
...
xml - 7.4.30
xmlwriter - 7.4.30
xsl - 7.4.30
zip - 1.15.6

运行php -m将为您提供所有模块,而php -i将为您提供有关当前配置的更多详细信息。

Get_loaded_extensions()输出扩展列表。

phpinfo (INFO_MODULES);输出扩展及其详细信息。

运行命令。你会得到安装的扩展:

php -r "print_r(get_loaded_extensions());"

或运行此命令获取所有模块的安装和卸载版本

dpkg -l | grep php5