这个信息应该在phpinfo()的输出中,但我不知道具体在哪里。是在"Additional Modules"部分还是其他地方?我试图弄清楚为什么一些扩展似乎没有加载,但我甚至不知道应该在哪里查看。
这个信息应该在phpinfo()的输出中,但我不知道具体在哪里。是在"Additional Modules"部分还是其他地方?我试图弄清楚为什么一些扩展似乎没有加载,但我甚至不知道应该在哪里查看。
运行
php -m将会列出所有的模块,而
php -i则会提供更详细的信息以了解当前配置。
运行命令。您将获得已安装的扩展:
php -r "print_r(get_loaded_extensions());"
或者运行以下命令获取所有模块的安装和卸载版本:
dpkg -l | grep php5
php -r“print_r(implode(',',get_loaded_extensions()));”
- Jesse Nickles使用PHP函数get_loaded_extensions()
php -r 'print_r(get_loaded_extensions());'
,它会输出与 php -m
相同的列表。 - phpguruphp -r "phpinfo(INFO_MODULES);" | grep -B 3 -i version > modules.txt
- Agnius Vasiliauskas php -m
在命令行中,或者如果您可以访问服务器配置文件,请打开。/etc/php5/apache2/php.ini
看看所有的扩展功能,
您甚至可以通过切换开和关来启用或禁用它们,就像这样:
<Extension_name> = <[On | Off]>
<?php
echo "<pre>";
print_r(get_loaded_extensions());
echo "<pre/>";
?>
如果您想测试特定扩展是否已加载,您还可以使用extension_loaded
函数,有关文档,请参见此处
php -r "var_dump(extension_loaded('json'));"
我遇到了同样的问题,我需要知道安装了哪些模块以及它们的版本。目前,我的解决方案是通过命令行让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
get_loaded_extensions()
输出扩展名列表。
phpinfo(INFO_MODULES);
输出扩展名及其详细信息。
dpkg --get-selections | grep -i php
-RHEL/CentOS
yum list installed | grep -i php
-Fedora 22+
dnf list installed | grep -i php