Назад | Перейти на главную страницу

Как я могу узнать, какие модули Apache мне доступны?

В настоящее время я читаю «Полное руководство по Apache mod_rewrite», и на протяжении всей книги упоминаются другие модули Apache, которые являются лучшими альтернативами в данных сценариях.

Это заставило меня задуматься, что все установлено на моем сайте. У меня нет доступа к серверу по SSH, и у меня нет доступа ни к одному из файлов конфигурации (afaik).

Есть ли у меня способ определить, что установлено, или мне нужно напрямую спросить свой хост? Я полагаю, что некоторые команды можно запускать внутри PHP (т.е. с использованием обратных кавычек), но я не уверен, каковы их ограничения.

У вас есть доступ к .htaccess? Я предполагаю, что это так, иначе у вас не будет контроля над веб-сервером и вы ничего не сможете с ним сделать, поэтому нет смысла знать, какие модули у вас есть.

Если да, вы можете добавить различные <IfModule> директивы в .htaccess файл, чтобы что-то сделать (например, запретить доступ к определенному файлу). Затем вы можете попытаться получить доступ к файлу. Если у вас есть доступ к файлу, значит, у вас нет модуля.

Есть внешний метод, но для этого потребуется знать, включен ли он и установлен ли вообще.

В phpinfo() Функция может рассказать вам кое-что об Apache, но в основном это касается PHP. Если вы можете запускать команды через веб-сервер, запустите

httpd -t -D DUMP_MODULES

может сработать, но я бы не стал на это рассчитывать.

Кроме того, некоторые модули могут включать данные в ответы сервера, даже если они в настоящее время не используются. Видеть http://www.netcraft.com/whats для примера такого рода вещей. Мой сервер в настоящее время сообщает:

Apache / 2.2.14 (Unix) mod_ssl / 2.2.14 OpenSSL / 0.9.9-dev DAV / 2 PHP / 5.2.11 Phusion_Passenger / 2.2.9

что кажется точным, что напоминает мне, что мне нужно удалить часть PHP.

Это не программный ответ.

Спросите напрямую у администратора хоста, если можете.

Вы можете попробовать попросить администратора активировать модуль apache mod_info и настроить главный файл сервера httpd.conf (и указать на ограниченный URI для безопасности), чтобы вы могли легко получить полную информацию о конфигурации с помощью своего веб-браузера.

Вы можете попросить администратора хоста запустить команду httpd, предоставленную другим пользователем выше, и отправить вам результат.