О web-разработке
и даже немного больше...

Как проверить наличие модуля Apache?

apache-phpМножество хостинг-площадок в качестве веб-сервера используют Apache, у которого есть различные модули, так или иначе расширяющие возможности веб-сервера в целом.

Иногда правильное выполнение логики скриптов (PHP) может зависеть от наличия конкретного модуля Apache. Исходя из этого, возникает вопрос, как можно сделать проверку наличия нужного модуля. После чего можно сделать вывод сообщения о том, что нужный модуль не подгружен, либо если он в наличии — продолжать выполнять код.

Начиная с версии 4 в PHP появилась функция apache_get_modules(), которая в качестве результата возвращает массив, со списком загруженных модулей сервера Apache.

Пример работы функции:

<?php
print_r(apache_get_modules());
?>

Результат будет примерно такого вида:

Array
(
    [0] => core
    [1] => http_core
    [2] => mod_so
    [3] => sapi_apache2
    [4] => mod_mime
    [5] => mod_rewrite
)

Опираясь на результат работы этой функции, можно сделать проверку, есть ли нужное значение в массиве возвращаемого результата. В качестве примера мы проверим наличие важного модуля mod_rewrite, который служит для реализации разнообразных перенаправлений/преобразований запросов. Кстати касательно использования возможности данного модуля есть несколько полезных постов на эту тему: «Концепция единой точки входа», «Как сделать 301-редирект в htaccess с www. на без www.?», которые я так же рекомендую к прочтению.

Пример.

<?php
$module = 'mod_rewrite'; # имя модуля
if (in_array($module, apache_get_modules()))
	echo 'Модуль '.$module.' в наличии!';
else
	echo 'Модуль '.$module.' отсутсвует.';
?>

Код примера довольно прост, в переменную $module мы задаем значение имени модуля, который мы проверяем. Далее следует проверка с помощью функции in_array(), которая проверяет наличие указанного значения в массиве. В качестве массива у нас результат работы функции apache_get_modules(). После чего срабатывает условие и выводиться строка с сообщением.

Опубликован: 03.06.2014 г.

См. также:

Редакторы кода для PHP
Как просмотреть время загрузки страницы в PHP?
Генерация QR-кода в PHP
Загрузка файлов на сервер посредством Ajax
Импорт записей из Excel в WordPress
Парсинг XML в PHP
Установка IonCube на XAMPP
Создание PDF файлов в PHP

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Комментарии
  • Загрузка...
Друзья сайта