如何检查apache中启用的mod_头和mod_过期模块

如何检查apache中启用的mod_头和mod_过期模块,apache,apache-config,mod-expires,phpinfo,mod-headers,Apache,Apache Config,Mod Expires,Phpinfo,Mod Headers,我想检查mod_头和mod_过期模块是否在我的服务器中启用 是否有一种方法可以使用一些php函数列出启用/禁用apache的模块,就像我们使用phpinfo()列出php信息一样功能?在Debian上: user@machine:~$ /usr/sbin/apache2 -l 大多数GNU/Linux发行版: user@machine:~$ /usr/sbin/httpd -l Ubuntu: user@machine:~$ ls /etc/apache2/mods-enabled 在Ma

我想检查mod_头和mod_过期模块是否在我的服务器中启用

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

在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位):


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

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

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

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

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

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

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

apachectl-t-D转储模块


apachectl-M

在Ubuntu上,您可以在这里看到已启用模块的列表

/etc/apache2/mods-enabled

mods enabled
目录非常特定于Debian和Ubuntu,其他发行版和操作系统处理模块的方式不同user@machine:~$apachectl-M-l仅显示已编译的模块,如果模块是共享的怎么办?CentOS和RHOS版本的这些命令是
/usr/sbin/httpd-t-DUMP_MODULES
/usr/sbin/httpd-M
@Craig London
apachectl
是控制脚本,在CentOS中也可用。这应该是这个问题的公认解决方案。检查/etc/apache2/mods可获得列表可用模块的数量;又好又简单我要这个!
echo system('ls /etc/apache2/mods-enabled/');
echo system('ls /etc/apache2/mods-available/');
/etc/apache2/mods-enabled