У меня есть сервер CentOS с Virtualmin. Я настроил PHP так, как хочу, с помощью Apache mod_fastcgi. Однако, когда я нажимаю "Re-check Config" в Virtualmin, я получаю
PHP execution via fcgid requires the Apache mod_fcgid module
Эта почта говорит изменить Default PHP execution mode
к CGI
, но нигде не могу найти такой вариант!
mod_fastcgi (www.fastcgi.com) - это сторонний модуль, директивы которого имеют префикс FastCgi.
mod_fcgid http://httpd.apache.org/mod_fcgid/mod/mod_fcgid.html это модуль Apache, директивы которого имеют префикс «Fcgid».
Я советую вам удалить mod_fastcgi и использовать mod_fcgid.
Это отличная новость для PHP, потому что тогда вы можете сбросить apache mpm-prefork и использовать лучший mpm-worker, не устанавливая mod_php, вместо этого используя php как быстрый cgi. Для Debian это означает:
• Удалите apache2-mpm-prefork и libapache2-mod-php5.
• Добавьте apache2-mpm-worker, libapache2-mod-fcgid и php5-cgi. С php5-cgi вам не нужна специальная оболочка fast cgi, вы можете напрямую использовать саму командную строку php (обратите внимание на / usr / lib / cgi-bin / php5) ниже.
• Для mod_fcgid с PHP обратите внимание, что PHP как FastCGI имеет собственное средство для завершения после обработки такого большого количества запросов (см. PHP_FCGI_MAX_REQUESTS). FcgidMaxRequestsPerProcess помогает избежать отправки дополнительных запросов в приложение-оболочку после того, как оно обработало свой предел.
• Внутри каждого виртуального хоста или в глобальном масштабе:
FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 200 FcgidMaxRequestsPerProcess 200
• Затем в Справочнике:
AddHandler fcgid-script .php FcgidWrapper /usr/lib/cgi-bin/php5 .php Options +ExecCGI
На данный момент я решил это, включив mod_fcgid
в Apache, но просто не настраивая его. Но это напрасная трата памяти, и я хотел бы знать «правильный» способ решить эту проблему!