Я имею в виду, почему это лучше (это?) использовать mod_php вместо простых скриптов php, запуская их как CGI?
Спасибо
Ответ 1
При использовании CGI: PHP-процесс запускается Apache, и именно этот PHP-процесс интерпретирует PHP-код, а не сам Apache.
В теории для каждого запроса должен быть создан отдельный PHP-процесс, что делает вещи медленнее: у Apache больше работы, чтобы ответить на запрос.
(Ну, как отметил @AlReece45 в комментарии, это можно улучшить с помощью FastCGI)
При использовании PHP в качестве модуля Apache (mod_php или mod_php5) интерпретатор PHP является своего рода "встроенным" внутри процесса Apache: нет внешнего процесса PHP.
Это означает:
Нет ответа на запрос (быстрее)
Улучшенная связь между Apache и PHP
Вообще говоря, я бы сказал, что mod_php - это решение, которое использовалось больше всего.
Ответ 2
Обычный CGI требует, чтобы процесс был порожден для каждого запроса во время запроса.
mod_php требует, чтобы вы использовали раздутый apache вместо slick nginx или lighttpd. Кроме того, "лучшее общение между Apache и PHP", упомянутое Паскалем, может нанести вред апачу (это вредит любому, кто развивается в php!; -)).
FastCGI позволяет вам отделить php от веб-сервера (возможно, запустить его на другом хосте).
Ответ 3
Кроме того, php.net только что выпустила уязвимость сегодня, когда раскрытие исходного кода возможно, если вы используете mod_cgi для запуска PHP, а ваша версия PHP старше PHP 5.3.12 или PHP 5.4.2.