Virtualmin:“通过 fcgid 执行 PHP 需要 Apache mod_fcgid 模块”

Virtualmin:“通过 fcgid 执行 PHP 需要 Apache mod_fcgid 模块”

我有一台安装了 Virtualmin 的 CentOS 服务器。我已使用 Apache mod_fastcgi 按照自己想要的方式配置了 PHP。但是,当我在 Virtualmin 中单击“重新检查配置”时,我得到了

PHP execution via fcgid requires the Apache mod_fcgid module

这个帖子说要改为Default PHP execution modeCGI但我在任何地方都找不到这样的选项!

答案1

mod_fastcgi (www.fastcgi.com) 是一个第三方模块,其指令带有“FastCgi”前缀。

mod_fcgidhttp://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,您不需要自定义快速 cgi 包装器,您可以直接使用下面的 php 命令行本身(注意 /usr/lib/cgi-bin/php5)。

• 对于 PHP 的 mod_fcgid,请注意,作为 FastCGI 的 PHP 有自己的功能,可以在处理完如此多的请求后终止(请参阅 PHP_FCGI_MAX_REQUESTS)。FcgidMaxRequestsPerProcess 有助于避免在处理完其限制后向包装器应用程序发送额外的请求。

• 在每个虚拟主机内或全局范围内:

    FcgidInitialEnv PHP_FCGI_MAX_REQUESTS 200
    FcgidMaxRequestsPerProcess 200

• 然后在目录中:

    添加处理程序 fcgid 脚本.php
    根目录 /usr/lib/cgi-bin/php5.php
    选项 +ExecCGI

答案2

目前,我通过mod_fcgid在 Apache 中启用但不配置它来解决这个问题。但这浪费内存,我很想知道解决这个问题的“正确”方法!

相关内容