如何查看PHP加载的扩展?


155

它必须在phpinfo()转储中的某个位置,但是我只是不知道在哪里。是否应该在“其他模块”部分下?别的地方?我试图弄清楚为什么某些扩展名似乎没有被加载,但是我什至不知道我应该在哪里寻找。

Answers:





33

您要运行:

 php -m 

在命令行上

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

/etc/php5/apache2/php.ini

并查看所有扩展,

您甚至可以通过在“开”和“关”之间切换来启用或禁用它们

<Extension_name> = <[On | Off]>

17
  <?php 
      echo "<pre>";
      print_r(get_loaded_extensions());
      echo "<pre/>";
 ?>

php -m中的列表比get_loaded_extensions()更长,后者不列出curl,mbstring和许多其他列表?这是为什么?我安装了curl,mbstring,但是它们似乎没有从php脚本中显示出来?
Meryan

如何按字母顺序对get_loaded_extensions()进行排序?与其他可以正常工作的php安装进行比较,谢谢。
Meryan

6

get_loaded_extensions() 输出扩展列表。

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


5

如果要测试是否已加载特定扩展名,也可以使用该extension_loaded功能,请参见此处的文档

php -r "var_dump(extension_loaded('json'));"

1

您是否正在寻找特定的扩展名?在您的phpinfo();,只需在网络浏览器中按Ctrl+ F,然后输入您要查找的扩展程序的前3-4个字母,该扩展名将显示是否已加载该扩展名。

通常情况下,phpinfo()它不会在一个位置显示所有已加载的扩展名,但每个加载的扩展名都有一个单独的部分,其中显示了所有变量,文件路径等,因此,如果扩展名中没有该部分,可能意味着未加载。

或者,您可以打开php.ini文件,并使用Ctrl+ F方法查找扩展名,然后查看扩展名是否已被注释掉(通常以分号开头)。


0

您问您在phpinfo()输出中的何处看到已加载的扩展。

回答:

它们作为单独的部分/表在底部列出,并且在加载时列出。这是加载了Curl扩展的示例。

在此处输入图片说明 ...

... 在此处输入图片说明

我将其安装在Linux Debian上

sudo apt-get install php7.4-curl
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.