Назад | Перейти на главную страницу

Virtualmin: «Для выполнения PHP через fcgid требуется модуль Apache mod_fcgid»

У меня есть сервер 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, но просто не настраивая его. Но это напрасная трата памяти, и я хотел бы знать «правильный» способ решить эту проблему!