Каковы различия между mod_php и cgi сценарием PHP?
Я имею в виду, почему это лучше (это?) для использования mod_php вместо этого простые сценарии PHP, выполняя их как CGIs?
Спасибо
При использовании CGI: процесс PHP запускается Apache, и именно этот процесс интерпретирует PHP-код, а не сам Apache - .
Теоретически, для каждого запроса должен быть создан отдельный процесс PHP, что замедляет работу: Apache приходится выполнять больше работы, чтобы ответить на запрос.
(Ну, как указал @AlReece45 в комментарии, это можно улучшить с помощью FastCGI)
При использовании PHP как модуля Apache (mod_php
, или mod_php5
), интерпретатор PHP как бы "встроен" внутри процесса Apache: нет внешнего процесса PHP.
Что означает :
Вообще говоря, я бы сказал, что mod_php
- это решение, которое используется чаще всего.
Обычный CGI требует, чтобы процесс создавался для каждого запроса во время запроса.
mod_php требует, чтобы вы использовали bloa ted apache вместо гладкого nginx или lighttpd. Кроме того, «улучшенная связь между Apache и PHP», упомянутая Паскалем, может нанести вред Apache (это вредит любому, кто разрабатывает на php! ;-)).
FastCGI позволяет вам отделить php от веб-сервера (возможно, запустить его на другом хосте).