203

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

4

10 回答 10

308

跑步

php -m
会给你所有的模块,和
php -i
将为您提供有关当前配置的更多详细信息。

于 2009-01-26T05:47:48.717 回答
91

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

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

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

dpkg -l | grep php5
于 2015-09-01T05:18:24.160 回答
52

你想运行:

 php -m 

在命令行上,

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

/etc/php5/apache2/php.ini

看看所有的扩展,

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

<Extension_name> = <[On | Off]>
于 2014-11-26T16:33:03.783 回答
50

使用get_loaded_extensions()PHP 函数

于 2009-01-26T19:46:31.317 回答
23
  <?php 
      echo "<pre>";
      print_r(get_loaded_extensions());
      echo "<pre/>";
 ?>
于 2016-06-03T11:31:27.830 回答
15

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

php -r "var_dump(extension_loaded('json'));"
于 2019-10-25T08:27:18.723 回答
6

get_loaded_extensions()输出扩展列表。

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

于 2016-03-23T04:12:15.760 回答
1

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

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

或者,您可以打开您的 php.ini 文件并使用Ctrl+F方法查找您的扩展名,并查看它是否已被注释掉(通常在行首附近的分号处)。

于 2009-01-26T05:53:57.347 回答
1

您可以通过此查看 PHP 安装的所有扩展

-Debian/Ubuntu

dpkg --get-selections | grep -i php

-RHEL/CentOS

yum list installed | grep -i php

-Fedora 22+

dnf list installed | grep -i php
于 2022-02-09T13:42:45.060 回答
1

你问你在 phpinfo() 输出中在哪里看到加载的扩展。

回答:

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

在此处输入图像描述 ...

... 在此处输入图像描述

我将它安装在 Linux Debian 上

sudo apt-get install php7.4-curl
于 2020-03-29T22:21:31.657 回答