Php модуль або cgi mod_php vs cgi, відмінності установки php як модуля apache і fastcgi
PHP, встановлений як модуль Apache (mod_php)
Переваги установки PHP, як модуля для Apache mod_php:
- Висока продуктивність скриптів, в порівнянні з іншими методами установки: CGI і FastCGI.
- Підтримка конфігураційних файлів .htaccess, функцій роботи з заголовками і деяких інших особливостей.
- Загальний конфігураційний файл PHP для всіх скриптів (php.ini).
Недоліки установки PHP, як модуля для Apache:
- Запуск всіх скриптів з правами користувача HTTP-сервера Apache (для Windows це не є недоліком, так як в будь-якому випадку за замовчуванням всі програми запускаються від одного користувача), що потенційно може загрожувати безпеці сервера в цілому. При використанні спеціалізованих модулів Apache 2.2 або інших рішень, опис яких можна знайти в інтернет, можна налаштувати Apache + mod PHP таким чином, щоб скрипти PHP запускалися від різних користувачів.
- Ускладнення процесу моніторингу та відповіді на питання: "Хто або що" вантажить "сервер?".
- Підвищена ресурсомісткість, в порівнянні з CGI і FastCGI.
- Складність підключення PHP, як модуля HTTP-сервера Апач в Windows. З тим, як легко налаштувати зв'язку PHP + Apache можна ознайомитись в статті: "Налаштування зв'язки PHP (як модуль Apache), Apache і MySQL".
Незважаючи на всі наведені вище недоліки, установка PHP як модуля для Apache (mod_php) є найпопулярнішим способом підключення PHP до Apache.
PHP, встановлений як FastCGI (mod_fastcgi)
Оскільки PHP в режимі FastCGI (використовується модуль Apache: "mod_fastcgi") працює значно швидше, ніж звичайно CGI. і крім відмінностей в швидкості між цими двома режимами інших принципових відмінностей немає (як для користувача або розробника web-додатків), нижче буде розглядатися переваги і недоліки інтеграції Apache і PHP способом FastCGI.
Переваги установки PHP, як FastCGI:
- Все PHP-скрипти виконуються від імені користувача-власника директорії (важливо тільки для UNIX систем).
- Індивідуальні настройки PHP для кожного користувача.
- Споживання ресурсів системи менше, ніж при використанні PHP, в якості модуля.
Недоліки установки PHP, як FastCGI:
- Відсутність підтримки конфігураційних файлів .htaccess, функцій роботи з заголовками і деяких інших особливостей.
- Швидкість виконання PHP скриптів нижче, ніж при підключенні PHP до Апач, як модуль.