Cpanel/WHM:在 Apache2 中使用 PHP-FPM 运行 PHP

Cpanel/WHM:在 Apache2 中使用 PHP-FPM 运行 PHP

我有一台 CentOS 6.9 VPS 服务器,带有 cpanel 和 WHM,运行 Apache 2 和 PHP 5.6

我在 WHM 上启用了 PHP-FPM,它在 WHM 和 Cpanel 中都显示为活动状态(在 MultiPHP 管理器部分)

为了确保万无一失,我甚至将它复制到了我设置 vhost 的 conf 中。

根据 PHP-FPM 的日志(php-fpm error.log 上的“注意:已准备好处理连接”),PHP-FPM 似乎正在运行

但是当我查看 phpinfo() 时,它仍然显示:

Server API CGI/FastCGI

那么我遗漏了什么?如何调试?我多次重启了 apache 和 php-fpm,甚至重启了服务器,但都无济于事

编辑:实际上,我错了:我的 vhost 配置上没有这个:

<IfModule proxy_fcgi_module>
<FilesMatch \.(phtml|php[0-9]*)$>
SetHandler proxy:unix:/opt/cpanel/ea-php56/root/usr/var/run/php-fpm/fc680a9025c37fd635d3cad33dda11786afdf8c0.sock|fcgi://domain.tld
</FilesMatch>
</IfModule>

它肯定被某些东西覆盖了。现在,如果我把它放在那里,就会出现错误:

No input file specified.

即使我尝试仅使用 phpinfo() 来访问脚本

答案1

cPanelMichael 在此 cPanel 论坛页面上给出了答案,可能有助于澄清:https://forums.cpanel.net/threads/php-handlers-in-easyapache4.592879/

本质上,目前 PHP-FPM 在 cPanel 中的实现方式是,它只能按域启用,但实际上不能作为全局或系统范围的 PHP 处理程序使用。因此,在全局范围内,您可以将 DSO、suPHP 或 fcgi 作为全局处理程序,但随后可以为特定域启用 PHP-FPM。但是,如果从已启用 PHP-FPM 的域调用 phpinfo() 时没有显示任何 PHP-FPM 为该域工作的证据,那么可能存在问题,您数据主机上具有服务器根访问权限的系统管理员将更有能力调查此问题。

您的 phpinfo() 是否至少在“配置命令”部分显示 --enable-fpm 或 --with-fpm-systemd?phpinfo() 页面下方的 cgi-fcgi 部分下,php-fpm 是否显示为“活动”?是否有 fpm.config 指令?我想说,如果您至少找到配置命令选项,那么您可能会没事。但是,如果 Ctrl+F -> 'fpm' 没有返回任何结果,我会再次联系您托管 cPanel 帐户的数据托管公司的技术支持。

相关内容