我有一个带有 Virtualmin 的 CentOS 服务器。我使用 Apache mod_fastcgi 以我想要的方式配置了 PHP。但是,当我在 Virtualmin 中单击“重新检查配置”时,我得到
PHP execution via fcgid requires the Apache mod_fcgid module
这篇文章说要更改Default PHP execution mode
为CGI
,但我在任何地方都找不到这样的选项!
我有一个带有 Virtualmin 的 CentOS 服务器。我使用 Apache mod_fastcgi 以我想要的方式配置了 PHP。但是,当我在 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,您不需要自定义的快速 cgi 包装器,您可以直接使用 php 命令行本身(注意下面的 /usr/lib/cgi-bin/php5)。
• 对于带有 PHP 的 mod_fcgid,请注意,作为 FastCGI 的 PHP 有自己的工具,可以在处理了这么多请求后终止(请参阅 PHP_FCGI_MAX_REQUESTS)。FcgidMaxRequestsPerProcess 有助于避免在处理其限制后向包装应用程序发送额外的请求。
• 在每个虚拟主机内或在全局范围内:
• 然后在目录中:
目前,我通过
mod_fcgid
在 Apache 中启用但没有配置它来解决它。但那是在浪费记忆,我很想知道解决这个问题的“正确”方法!