mod_php против cgi против fast-cgi
Я пытался понять точное значение / цель загрузки php как модуль apache против остальных.
Когда php установлен как модуль apache, что именно происходит? Например, происходит ли чтение файла php-ini каждый раз, когда приходит запрос php, или когда модуль php загружается один?
3 ответа
php.ini читается, когда модуль PHP загружен в mod_php, FastCGI и FPM. В обычном режиме CGI файл конфигурации должен быть прочитан во время выполнения, потому что нет никаких предварительно обработанных процессов любого вида.
Я думаю, что единственным реальным преимуществом использования PHP как модуля внутри веб-сервера является то, что конфигурация может быть проще. Вы получаете гораздо лучшую производительность, когда запускаете его в режиме FastCGI или FPM и можете использовать многопоточный (или разветвленный) Apache, или когда вы можете полностью исключить Apache.
Эта ссылка может помочь: http://2bits.com/articles/apache-fcgid-acceptable-performance-and-better-resource-utilization.html
Заключение
Если вам нужна чистая скорость, оставайтесь с mod_php.
Однако для лучшего использования ресурсов и повышения эффективности рассмотрите возможность перехода на fcgid.
php.ini читается, когда модуль загружается в случае модуля Apache. PHP CGI использует исполняемый файл интерпретатора php, как любой другой скрипт оболочки. Поскольку в каждом вызове нет состояния, файл конфигурации должен быть прочитан каждый раз в случае CGI.