Как проверить, включены ли модули mod_headers и mod_expires в apache - PullRequest
19 голосов
/ 10 января 2012

Я хочу проверить, включены ли модули mod_headers и mod_expires на моем сервере или нет

Есть ли способ, позволяющий выводить список включенных / отключенных модулей Apache, используя некоторую функцию php, подобно тому, как мы перечисляем информацию php с помощью phpinfo (); функция?

Ответы [ 4 ]

58 голосов
/ 08 июля 2014

Все приведенные выше ответы неверны.Вместо этого используйте:

apachectl -t -D DUMP_MODULES

или

apachectl -M

27 голосов
/ 10 января 2012

В 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, где вместо них будет использоваться CMD.

7 голосов
/ 23 октября 2015

В Ubuntu вы можете увидеть список включенных модулей здесь,

/etc/apache2/mods-enabled
6 голосов
/ 13 августа 2012

В некоторых версиях 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/');
...