Nginxの各環境で異なるPHPのバージョンを実行できるようにする
2022/07/24
環境: Linxu(CentOS7, Nginxインストール済み、PHP7.xインストール済み)
今回はPHP8系をインストールしたかったので、PHP8.1でやったことを例に記載していきますが、とりあえず、実行したいPHPのバージョンをyumでインストールしておく(※割愛)
yumのインストールのリポジトリがremiの場合は、/etc/opt/remi/phpバージョン/php-fpm.d/の中に、www.confがあるので、www.confを修正する
修正する箇所は主に3か所
user = nginx <- webサーバーの実行ユーザーにする
group = nginx <- webサーバーの実行ユーザーにする
listen = 127.0.0.1:9001 <- 9000番がデフォルトになっているので、使っていないポートに変更する
php-fpmを起動してみる。
# systemctl start phpバージョン-php-fpm (ex. systemctl start php81-php-fpm
# ps aux | grep php
このとき、該当のPHPバージョンのプロセスが立ち上がってたらOK
例) root 7485 0.6 1.3 567488 24512 ? Ss 22:09 0:00 php-fpm: master process (/etc/opt/remi/php81/php-fpm.conf)
次は、Nginxのバーチャルホストの設定
serverディレクティブで、location内でcgiの指定しているポートを変更
server {
listen 443;
server_name サブドメインとか
~~略~~
location / {
try_files $uri $uri/ /index.php?$args;
}
location ~ \.php$ {
try_files $uri =404;
fastcgi_pass 127.0.0.1:9001; <- ここを9000から9001に変更
fastcgi_index index.php;
fastcgi_intercept_errors on;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
include fastcgi_params;
}
}
これで、Nginxを再起動して、phpinfoとか実行して該当バージョンのPHPが確認できたらOK