Каковы различия между mod_php и cgi сценарием PHP?

Каковы различия между mod_php и cgi сценарием PHP?

Я имею в виду, почему это лучше (это?) для использования mod_php вместо этого простые сценарии PHP, выполняя их как CGIs?

Спасибо

12
задан Simone Margaritelli 2 May 2010 в 16:05
поделиться

2 ответа

При использовании CGI: процесс PHP запускается Apache, и именно этот процесс интерпретирует PHP-код, а не сам Apache - .

Теоретически, для каждого запроса должен быть создан отдельный процесс PHP, что замедляет работу: Apache приходится выполнять больше работы, чтобы ответить на запрос.
(Ну, как указал @AlReece45 в комментарии, это можно улучшить с помощью FastCGI)


При использовании PHP как модуля Apache (mod_php, или mod_php5), интерпретатор PHP как бы "встроен" внутри процесса Apache: нет внешнего процесса PHP.

Что означает :

  • Отсутствие форков для ответа на запрос (быстрее)
  • Лучшее взаимодействие между Apache и PHP


Вообще говоря, я бы сказал, что mod_php - это решение, которое используется чаще всего.

11
ответ дан 2 December 2019 в 20:39
поделиться

Обычный CGI требует, чтобы процесс создавался для каждого запроса во время запроса.

mod_php требует, чтобы вы использовали bloa ted apache вместо гладкого nginx или lighttpd. Кроме того, «улучшенная связь между Apache и PHP», упомянутая Паскалем, может нанести вред Apache (это вредит любому, кто разрабатывает на php! ;-)).

FastCGI позволяет вам отделить php от веб-сервера (возможно, запустить его на другом хосте).

3
ответ дан 2 December 2019 в 20:39
поделиться
Другие вопросы по тегам:

Похожие вопросы: