動作中のシステムを、そろそろ各種バージョンアップした新サーバーに移す作業に入ったが、新サーバーで、ApacheからPHPが動作しなかった。
新サーバーのバージョン
CentOS | 8.2 |
Apache | 2.4.37 |
PHP | 7.4.10 |
原因
以前のApacheのデフォルトが 、MPM prefork だったのが、今回は MPM event になっていた。
(確認)
/etc/httpd/conf.modules.d/00-mpm.confの中を見ると、ロードするモジュールがMPM eventのモジュールに変わってる。
対応
以前のpreforkにするということも考えられるが、MPM eventで突き進むことにした。
連携するために追加でやったことは、以下。
1.php-fpmの有効化
php-fpmをサービス起動するように設定
systemctl enable php74-php-fpm systemctl start php74-php-fpm
2.mod_proxy_fcgiを有効化
今までは、/etc/httpd/conf.modules.d/00-proxy.confは、すべてコメントアウトしていたが、以下を有効にする。
LoadModule proxy_module modules/mod_proxy.so LoadModule proxy_fcgi_module modules/mod_proxy_fcgi.so