wordpressを動かすphp-fpmのバージョンを7.0から7.4にした際にやった事と、つまづいた事をメモします。
やったこと
初めに、PHP Compatibility Checker を使って、php7.3までの動作をチェックしました。
全てのプラグインで「互換性あり」と出たので、php7.4-fpmへ切替したのですが、ヘッダーは表示されるのに、コンテンツが何も表示されない状態になりました。php7.3-fpmも試しましたが、同じ現象となりました。
ググると、どうも crayon-syntax-highlighter が怪しいという事がわかり、githubにfix versionが公開されていたので、ダウンロードして現在のプラグインに上書きし、php7.4-fpmにしたところ、ちゃんと動作しました。めでたしめでたし。以下に作業ログを貼っておきます。
作業ログ
Fixバージョンを取ってきて展開する
% mkdir ${HOME}/tmp % cd ${HOME}/tmp % wget https://github.com/Crunchify/crayon-syntax-highlighter/archive/2.8.6.tar.gz % gzip -dc 2.8.6.tar.gz | tar xf -
展開したファイルを運用中のpluginに適用する
展開すると、crayon-syntax-highlighter-2.8.6
というディレクトリが出来ている。Wordpressのプラグインのpathが、/var/www/wp-content/plugins/crayon-syntax-highlighter/
だとして、以下で上書きする。
% cd crayon-syntax-highlighter-2.8.6/ % tar cf - . | \ ( cd /var/www/wp-content/plugins/crayon-syntax-highlighter/ ; \ sudo tar xf - )
php7.4-fpmに変更する
以下は、私の環境ですので、各々の環境に合わせて変更してくださいね。
php7.0と同じパッケージをphp7.4でも用意する
% apt list --installed | \ grep ^php7.0 | \ awk -F\/ '{print $1}' | \ sed 's/7.0/7.4/' | \ xargs -n1 sudo apt install -y
php7.0-fpm と php7.4-fpm 両方とも起動している事を確認する
% sudo service php7.0-fpm status % sudo service php7.4-fpm status
※ php-fpmの設定 /etc/php/7.0/php-fpm.confや、/etc/php/7.0/pool.d/www.conf など変更していたら、php7.4-fpmの設定にも反映し、reloadしておいてください。
nginxの設定を変更して切り替える。ここでは、old.confが古い設定で、new.confが新しい設定と仮定します。その変更差分の結果を示します。
% cd /etc/nginx/sites-enabled % diff old.conf new.conf 12c12 < fastcgi_pass unix:/var/run/php/php7.0-fpm.sock; --- > fastcgi_pass unix:/var/run/php/php7.4-fpm.sock; % sudo service nginx restart
バージョンが上がっていることを確認します。
ツール>サイトヘルス>情報>サーバー
の順で選択し PHPバージョンの欄を確認してください。
php7.0-fpmを停止して削除する
% sudo service php7.0-fpm stop % sudo service php7.0-fpm status % sudo apt list --installed | \ grep ^php7.0 | \ awk -F\/ '{print $1}' | \ xargs -n1 sudo apt remove % sudo apt list --installed | \ grep ^php7.0 | \ awk -F\/ '{print $1}' | \ xargs -n1 sudo apt-get purge % dpkg -l | grep ^rc | grep php7.0
以上です。お疲れさまでした~(*’▽’)ノ