我有這個帶有 cpanel 和 WHM 的 CentOS 6.9 VPS 伺服器,運行 Apache 2 和 PHP 5.6
我已在 WHM 上啟用了 PHP-FPM,並且它在 WHM 和 Cpanel 中均顯示為活動狀態(在 MultiPHP 管理器部分中)
可以肯定的是,我甚至將其複製到我設定虛擬主機的conf中。
根據 PHP-FPM 的日誌,PHP-FPM 似乎正在運行(php-fpm error.log 上的「注意:準備好處理連線」)
但是當我查看 phpinfo() 時,它仍然顯示:
Server API CGI/FastCGI
那我錯過了什麼?如何調試這個?我已經多次重新啟動apache和php-fpm,甚至重新啟動伺服器,但無濟於事
編輯:實際上,我錯了:我的虛擬主機配置中沒有這樣的配置:
<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 適用於該網域的任何證據,則系統管理員在您的資料中可能存在問題對您的伺服器具有root 存取權限的主機將處於更有利的位置進行調查。
您的 phpinfo() 是否至少在設定指令部分顯示 --enable-fpm 或 --with-fpm-systemd ? php-fpm 在 phpinfo() 頁面下方的 cgi-fcgi 部分下是否顯示為「活動」?有 fpm.config 指令嗎?我想說,如果您至少找到了配置命令選項,那麼您可能會沒事。但是,如果 Ctrl+F -> 'fpm' 未傳回任何結果,我會再次聯絡您託管 cPanel 帳戶的資料託管公司的技術支援。