私は、cpanelとWHMを備えたCentOS 6.9 VPSサーバーを所有しており、Apache 2とPHP 5.6を実行しています。
WHM で PHP-FPM を有効にしましたが、WHM と Cpanel (MultiPHP マネージャー セクション) の両方でアクティブとして表示されます。
念のため、vhost を設定している conf にもコピーしました。
また、ログによると、PHP-FPM は実行されているようです (php-fpm error.log の「NOTICE: ready to handle connections」)
しかし、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() の [Configure Command] セクションに、少なくとも --enable-fpm または --with-fpm-systemd が表示されていますか? phpinfo() ページのさらに下にある cgi-fcgi セクションの下に、php-fpm が 'active' として表示されていますか? fpm.config ディレクティブはありますか? 少なくとも configure コマンド オプションが見つかれば、おそらく問題ないと思います。ただし、Ctrl+F -> 'fpm' で結果が返されない場合は、cPanel アカウントをホストしているデータ ホスティング会社のテクニカル サポートに再度問い合わせてください。