27

我想检查我的服务器中是否启用了 mod_headers 和 mod_expires 模块

有没有一种方法可以使用一些 php 函数列出 apache 启用/禁用的模块,就像我们使用phpinfo() 列出 php 信息一样;功能?

4

4 回答 4

71

以上所有答案都是错误的。改用:

apachectl -t -D DUMP_MODULES

或者

apachectl -M

于 2014-07-08T00:06:34.070 回答
29

在 Debian 上:

user@machine:~$ /usr/sbin/apache2 -l

大多数 GNU/Linux 发行版:

user@machine:~$ /usr/sbin/httpd -l

Ubuntu:

user@machine:~$ ls /etc/apache2/mods-enabled

在 Mac OSX 上:

user@mymac:~$ httpd -l

在 Win 7(64 位)上:

C:\Users\myuser>"\Program Files (x86)\Apache Software Foundation\Apache2.2\bin\httpd.exe" -l

在除 Windows 之外的所有终端窗口中尝试这些命令,Windows 将改用 CMD。

于 2012-01-09T20:19:26.167 回答
7

在 Ubuntu 上,您可以在此处查看已启用模块的列表,

/etc/apache2/mods-enabled
于 2015-10-23T16:00:49.580 回答
6

某些版本的 PHP/Apache 在“加载的模块”下的 phpinfo() 中显示所有加载的模块。

Speeve 的回答显示在模块中编译(我系统上的 x6):

echo system('/usr/sbin/apache2 -l');

您还需要查看已启用的模块(对我来说是 x36):

echo system('ls /etc/apache2/mods-enabled/');

要获取禁用模块的列表,请运行此命令,然后划掉所有启用的模块:

echo system('ls /etc/apache2/mods-available/');
于 2012-08-13T15:00:15.337 回答