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

contact us お問い合わせ

Contact お問い合わせ・ご相談

Webサービス・システム開発の
ご相談はお気軽にご連絡ください。

Recruit 求人へのご応募

サニージェムでは現在、プロジェクトの推進を
担う仲間を募集しています。