PHP модуль или CGI - отличия

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 к Апач, в качестве модуля.
Опубликовано: 2011/09/02
HTML-код ссылки на эту страницу:
<a href="http://petrenco.com/php.php?txt=91" target="_blank">PHP: модуль или CGI?</a>
110158
Комментарии
Спасибо. Для обывателя просто и понятно.
Добавить комментарий
Ваш e-mail: (не виден посетителям сайта)
Ваше имя:
Комментарий:
Символы с картинки:
Только выделенные поля формы добавления комментариев обязательны к заполнению.