如何查看PHP加载的扩展?

Bia*_*cki 131 php

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

Abd*_*aly 198

运行

php -m
将为您提供所有模块,以及
php -i
将为您提供有关当前配置的更多详细信息.

  • 这将为您提供在 PHP CLI 上下文中加载的模块,这可能是与服务 Web 请求的 PHP 不同的 PHP (6认同)

Sau*_*tel 53

运行命令.您将获得已安装的扩展:

php -r "print_r(get_loaded_extensions());"
Run Code Online (Sandbox Code Playgroud)

或者运行此命令以使用版本安装和卸载所有模块

dpkg -l | grep php5
Run Code Online (Sandbox Code Playgroud)


tro*_*skn 32

使用get_loaded_extensions()PHP函数

  • 这适用于命令行`php -r'print_r(get_loaded_extensions());'`它输出与`php -m`相同的列表 (4认同)
  • cmd 导出带有版本号的模块:`php -r "phpinfo(INFO_MODULES);" | grep -B 3 -i 版本> modules.txt` (2认同)

wil*_*idi 29

你想运行:

 php -m 
Run Code Online (Sandbox Code Playgroud)

在命令行上,

或者如果您有权访问服务器配置文件

/etc/php5/apache2/php.ini
Run Code Online (Sandbox Code Playgroud)

并查看所有扩展,

你甚至可以像这样在On和Off之间切换来启用或禁用它们

<Extension_name> = <[On | Off]>
Run Code Online (Sandbox Code Playgroud)


Rah*_*dav 14

  <?php 
      echo "<pre>";
      print_r(get_loaded_extensions());
      echo "<pre/>";
 ?>
Run Code Online (Sandbox Code Playgroud)


Pet*_*666 13

如果您想测试是否加载了特定扩展,您也可以使用该extension_loaded功能,请参阅此处的文档

php -r "var_dump(extension_loaded('json'));"
Run Code Online (Sandbox Code Playgroud)


Mik*_*keG 11

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

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

输出:

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
Run Code Online (Sandbox Code Playgroud)


jay*_*xhj 5

get_loaded_extensions() 输出扩展列表。

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