WordPressをバージョン5.1に上げたら、PHPの更新が必要です。新しいバージョンのPHPはより高速かつ安全です。
のようなメッセージが出たので、PHPのバージョンを5から7へ上げてみました。その方法です。
なんでもWordPressをPHP7で動作させると、PHP5のときに比べて2倍近くも高速に動作するようです。参考サイト。
まず結論
手順は2ステップです。まずPHP7をインストールして、次にNginxが使用するPHPをPHP5からPHP7へ変更します。
環境
Ubuntu 14.04 LTS
Nginx 1.14.2
WordPress 5.1.1
PHP5-FPM (旧)
PHP7.3-FPM (新)
PHP7-FPMのインストール
PHP7-FPM
をインストールします。なお、PHP5-FPM
とはインストールフォルダが異なるので、PHP5-FPMは上書きされません。
PPAリポジトリを追加します。
$ sudo add-apt-repository ppa:ondrej/php
もしadd-apt-repository
コマンドがなかったら、インストールします。
$ sudo apt-get install software-properties-common
パッケージを更新して、インストール可能なPHP7-FPM
バージョンを確認します。
$ sudo apt-get update
$ apt-cache search php7
php7.3-fpm - server-side, ...
php7.3-fpm
と拡張モジュールをインストールします。必要な拡張モジュールは使用するプラグインなどの環境によって異なります。ここでは次の内容でインストールしました。
sudo apt-get install php7.3-fpm php7.3-mysql php7.3-curl php7.3-mbstring php7.3-xml php7.3-zip php7.3-cli
上記でインストールした拡張モジュールは次の通りです。
- php7.3-mysql: MySQL用
- php7.3-curl: cURL用
- php7.3-mbstring: MBSTRING用
- php7.3-xml: DOM操作用
- php7.3-zip: Zip用
- php7.3-cli: コマンドライン用
PHP7-FPMの設定
PHP7の設定ファイルの一部を次のように変更します。ユーザー名とグループ名のwww-data
については元々PHP5-FPMで使用していた名称にするのがよいかと思います。元々の名称は/etc/php5/fpm/pool.d/www.conf
を確認してください。
$ sudo vi /etc/php/7.3/fpm/pool.d/www.conf
user = www-data
group = www-data
listen = /run/php/php7.3-fpm.sock
listen.owner = www-data
listen.group = www-data
listen.mode = 0660
上のlistenの値
を続いてNginxに設定するのでメモっておきます。
Nginxの設定
NginxがPHP7-FPMを使うように設定変更します。default.conf
は実際に使っているものに読み変えてください。
$ sudo vi /etc/nginx/conf.d/default.conf
# php5-fpm
# fastcgi_pass unix:/var/run/php5-fpm.sock;
# php7-fpm
fastcgi_pass unix:/run/php/php7.3-fpm.sock;
PHP5-FPMのソケットを使用してる箇所をコメントアウトして、PHP7-FPMのソケットのパスに置き換えます。パスは、PHP7-FPMの設定でメモしたlistenの値
です。
動作確認
NginxとPHP7-FPMをリスタートして、WordPressサイトが正常に動作しているか確認します。
$ sudo service php7.3-fpm restart
$ sudo service nginx restart
何か異常があれば
まだPHP5-FPMは残っているので、万が一、何か異常があれば、いつでもNginxの設定をPHP5-FPMに戻せます。
以上です。