PHP7.2と7.3をDebian Stretchにインストールする

2018/12/20[公開] 2018/12/21[最終更新]

 ここのWordpressサイトのPHPバージョンを7.2にしました。Debian Stretchの安定(stable)バージョンはphp7.0ですが、現行WordPressの推奨バージョンはphp7.2以上です。この矛盾を解消するためにphp7.2にすることにしました。php7.3はまだ不安定だったので、php7.2にしました。何か不具合が出ても簡単に元のphp7.0に戻すことができます。

 前提として、こちらの記事通りにインストールしたNginxのLAMP環境でのアップデート方法です。

スポンサー リンク

インストール

 Debian公式では、php7.2も7.3もまだtesting段階でBackports版にも上がっていません。

 DebianのPHPパッケージ化開発者のdeb.sury.orgから自己責任でインストール可能なようです。

 https://packages.sury.org/php/ のREADME.textの通りに、下記コマンドをrootで実行します。

# apt -y install apt-transport-https lsb-release ca-certificates
# curl -ssL -o /etc/apt/trusted.gpg.d/php.gpg https://packages.sury.org/php/apt.gpg
# sh -c 'echo "deb https://packages.sury.org/php/ $(lsb_release -sc) main" > /etc/apt/sources.list.d/php.list'
# apt update

 

 php7.0だけをインストールすると、うちの環境ではApacheが入っていないので勝手に一緒にインストールしようとするので、php7.2-fpmほか関連パッケージも一緒にインストールします。これでApacheがインストールされることはないです。

 関連パッケージは、あくまでうちのWordPressのプラグインなどで必要なものとなっています。自動でいろいろ推奨パッケージも追加でインストールされるので、だいたいWordPressを使う分には困ることはないと思われます。

php7.2をインストール

apt install php7.2 php7.2-fpm php7.2-mysql php7.2-mbstring php7.2-xml php7.2-gd php7.2-curl

 

php7.3をインストール

apt install php7.3 php7.3-fpm php7.3-mysql php7.3-mbstring php7.3-xml php7.3-gd php7.3-curl

www.confの設定

 php7.x-fpmの設定ファイルを変更します。/etc/php/7.2/fpm/pool.d/www.conf/etc/php/7.3/fpm/pool.d/www.confを編集します。apacheのユーザー名(www-data):グループ名(www-data)になっている箇所を、nginx:nginxに変更します。

23-24行目を変更します。

user = nginx
group = nginx

 

47-48行目も変更します。

listen.owner = nginx
listen.group = nginx

 

php7.x-fpmをリスタートします。

/etc/init.d/php7.2-fpm restart
/etc/init.d/php7.3-fpm restart

Nginxが使うPHPバージョンの指定

 ここまでで、php7.0、7.2、7.3のどれでも使えるようになっています。Nginxが使うPHPのバージョンを指定するのは、/etc/nginx/conf.d/*.conf ファイルのphp7.xの数字を書き換えることで設定できます。

 現在のphp7.0の設定の32行目あたりのphp7.0-fpmの部分を書き換えます。

location ~ \.php$ {
    root           /usr/share/nginx/html;
    fastcgi_pass   unix:/run/php/php7.0-fpm.sock;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    include        fastcgi_params;
}

 

php7.2を使う場合

 fastcgi_pass unix:/run/php/php7.2-fpm.sock;

 

php7.3を使う場合

 fastcgi_pass unix:/run/php/php7.3-fpm.sock;

Nginxリスタート

 設定変更はnginxをリスタートして反映されます。

/etc/init.d/nginx restart 

前のバージョンに戻す場合

 以上で、このサイトのPHPバージョンをアップデートすることができました。しばらく様子をみて問題がある場合など、元の7.0に戻すのも簡単です。

 /etc/nginx/conf.d/*.conf ファイルの数字を7.0に書き換えてnginxをリスタートするだけです。最初php7.3にしたら、うちのサイトでは表示がおかしくなったり不安定だったので、php7.2にして今のところ問題なく動いているようです。

スポンサー リンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です