它必须在phpinfo()转储中的某个地方,但我只是不知道在哪里。它应该在“附加模块”部分下吗?别的地方吗?我试图弄清楚为什么一些扩展似乎没有加载,但我甚至不知道我应该在哪里看。
当前回答
我也遇到了同样的问题,我需要知道安装了哪些模块及其版本。现在,我的解决方案是让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
其他回答
如果你想测试一个特定的扩展是否被加载,你也可以使用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
你可以通过这个命令看到PHP安装的所有扩展
-Debian/Ubuntu
dpkg --get-selections | grep -i php
-RHEL /被久远
yum list installed | grep -i php
-费多拉 22+
dnf list installed | grep -i php
运行php -m将为您提供所有模块,而php -i将为您提供有关当前配置的更多详细信息。
你想要运行:
php -m
在命令行中,
或者如果你有打开服务器配置文件的权限
/etc/php5/apache2/php.ini
看看所有的扩展,
你甚至可以通过像这样在开和关之间切换来启用或禁用它们
<Extension_name> = <[On | Off]>
推荐文章
- 阻止人们入侵基于php的Flash游戏高分表的最佳方法是什么
- PHP子字符串提取。获取第一个'/'之前的字符串或整个字符串
- __construct函数的作用是什么?
- PHP中的异步shell执行器
- Laravel 5 -如何访问在视图存储上传的图像?
- 为什么在PHP中使用sprintf函数?
- “质量分配”在Laravel中是什么意思?
- 在逗号上爆炸字符串,并修剪每个值的潜在空格
- PHP与MySQL 8.0+错误:服务器请求身份验证方法未知的客户端
- laravel5“LIKE”对等物(雄辩的)
- 在函数中使用默认实参
- 转换php数组到Javascript
- PHP PDO:字符集,集名称?
- PHP函数生成slug (URL字符串)
- GCM与PHP(谷歌云消息传递)