我想检查我的服务器中是否启用了mod_headers和mod_expires模块
是否可以使用某些php函数列出apache启用/禁用模块,就像我们使用 phpinfo(); 函数列出php信息一样?
答案 0 :(得分:58)
以上所有答案都是错误的。改为使用:
apachectl -t -D DUMP_MODULES
或
apachectl -M
答案 1 :(得分:27)
关于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。
答案 2 :(得分:7)
在Ubuntu上,您可以在此处看到已启用模块的列表,
/etc/apache2/mods-enabled
答案 3 :(得分:6)
某些版本的PHP / Apache在" Loaded Modules"下的phpinfo()中显示所有已加载的模块。
Speeve的答案显示在模块中编译(我系统上的x6):
echo system('/usr/sbin/apache2 -l');
您还需要查看已启用的模块(对我来说是x36):
echo system('ls /etc/apache2/mods-enabled/');
要获取已禁用模块的列表,请运行此命令,然后交叉所有已启用的模块:
echo system('ls /etc/apache2/mods-available/');