Багато хостинг-майданчиків в якості веб-сервера використовують Apache, у якого є різні модулі, так чи інакше розширюють можливості веб-сервера в цілому.

Іноді правильне виконання логіки скриптів (PHP) може залежати від наявності конкретного модуля Apache. Виходячи з цього, виникає питання, як можна зробити перевірку наявності потрібного модуля. Після чого можна зробити висновок повідомлення про те, що потрібний модуль не довантажуючи, або якщо він у наявності — продовжувати виконувати код.

Починаючи з версії 4 в PHP з’явилася функція apache_get_modules(), яка як результат повертає масив, зі списком завантажених модулів сервера Apache.

Приклад роботи функції:

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

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

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

Приклад.

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

Додав: htmaker, 03.06.2014 р.
(Ще не оцінили)

Завантаження…

Діліться з друзями:

См. також:


Пісочниця для PHP
Рубрика: PHP, Інструменти

Конфіг файли
Рубрика: PHP

Установка XCache в Linux CentOS
Рубрика: Linux, PHP

Використання SOAP в PHP
Рубрика: PHP

Встановлення PHP Soap на CentOS
Рубрика: Linux, PHP

Обсяг даних в зручному форматі на PHP
Рубрика: PHP

Транслітерація символів на PHP
Рубрика: PHP

Як перетворити URL-рядок в масив?
Рубрика: PHP

Добірка шаблонів регулярних виразів
Рубрика: PHP