【WordPress】これで大丈夫!PHPバージョンアップの方法と対策ー2.アップデート編
前回はPHPバージョンアップを行う前にしておきたい、現状のPHPのバージョンチェックや互換チェックをご説明しました。
前回の記事はこちら↓
今回は、いよいよPHPをバージョンアップしていきます。
PHPをバージョンアップするとサイトの表示スピードも上がりますし、今後新しいプラグインを追加する際、使えるプラグインが増えます。
バージョンアップすることで起こる不具合への不安はありますが、バックアップなどの万全の対策を取った上で、アップデートしておきましょう。
PHPバージョンアップ方法
PHPのバージョンアップはサーバのコントロールパネルから行うか、コマンドラインからバージョンアップを行うことができます。
エックスサーバのコントロールパネルからPHPをバージョンアップする場合を例に説明します。
コントロールパネルの「PHP.ver切替」を選択すると現在のバージョンが左側に表示され、右側に変更するバージョンをプルダウンメニューで選ぶことができます。
一気に最新版のPHP7.3へ変更してみましょう。
プルダウンメニューでPHP7.3.8を選択して「変更」ボタンを選択します。
これでバージョンアップは完了です。バージョンアップ自体は一瞬で終わります。
コマンドラインからのバージョンアップの手順はTecAcademyさんがわかりやすく説明してくださっています。
https://techacademy.jp/magazine/19321
バージョンアップ後サイトは無事表示されているかどうか、早めにプラウザでチェックしましょう。
画面上部にWarningなどのメッセージは出ていませんか?
もし画面が真っ白になるなど、全くサイトが表示されなくなった場合はコントロールパネルの「PHP Ver.切替」からもう一度PHPを古いバージョンに戻すことは可能です。
すぐに古いバージョンに戻してから、別のテストできる環境でバージョンアップとエラー対策を行って本番サイトをアップデートしましょう。
エックスサーバはドメイン毎にPHPのバージョンを変えることが可能です。
同一サーバ上にテストサイト用のサブドメインを登録してテスト環境を作ることができますので、そこで試すことができますよ。
サブドメインを登録してテスト環境を作る方法はこちら↓
PHPバージョンアップ後は「Query Monitor」でエラーチェック
PHPバージョンアップには「Query Monitor」というプラグインが便利です。
PHPのエラーを一覧で表示してくれるので、そのエラーがなくなるまで対応をすれば不具合を解消できます。
プラグインをインストール・有効化すると、画面上部に数字のような箇所が出てくるので、クリックします。
エラーがある場合、「PHP Errors」と表示されるので、一つずつ対応していきます。
PHPバージョンアップでよく出るエラーの対処方法
PHPのメジャーバージョンを5から7へアップすると、このようなメッセージをよく見ます。
Warning: Declaration of cfs_checkbox::●●● should be compatible with cfs_field::▲▲▲ in ~
これは「●●●を▲▲▲に置き換えて」というメッセージです。
なので、該当のファイルをFTPでダウンロードして書き換えて再度アップロードすればエラーは消えます。
例えば下記のWarningが表示されたとします。
この場合、cfs_checkbox.phpをFTPでダウンロードして、「input_head()」というスクリプトを検索し、「input_head($field = NULL) 」へ書き換えて保存します。
その後、その書き換えたファイルをアップロードすると、エラーが消えます。
まとめ
シンプルなPHPのプログラムであればアップデートしても、あまりエラーが出ることはありません。
但し、フレームワークを使用しているサイトや、新しいバージョンに対応していないプラグインを使用していたり、既にメンテナンスする体制が崩壊しているサイトでは不具合が起きやすいです。
以前のマイナーバージョンで構築されたプログラムの場合、特に非推奨関数が普通に使われているケースでは大量の修正が発生するかもしれません。
一般的にPHPのバージョンアップとともに、非推奨テンプレートタグが動作しなくなります。ですが、不思議なことに非推奨であっても動作するテンプレートタグも中にはあります。
「Query Monitor」で一つ一つ原因を検証して、PHPバージョンアップ後も、WordPressサイトを通常通りに動くように稼働させましょう。
【参考サイト】