Багато хостинг-майданчиків в якості веб-сервера використовують 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