WordPressの構成に使われているPHP。PHPバージョン7.4はサポート期限が「2022/11/28」となっています。サポート期限が切れたバージョンを使い続けることはセキュリティリスクがありますので、サポート期限内のバージョンにアップグレードすることをおすすめします。
バージョン | リリース日 | アクティブ サポート期限 | セキュリティ サポート期限 |
---|---|---|---|
7.4 | 2019/11/28 | 2021/11/28 | 2022/11/28 |
8.0 | 2020/11/26 | 2022/11/26 | 2023/11/26 |
8.1 | 2021/11/25 | 2023/11/25 | 2024/11/26 |
メジャーバージョンへのアップグレードにはいくつか注意点があります。トラブル発生時には以下手順をお試しください。
今回の作業はPHPバージョン5.6⇒8.0へのバージョンアップ作業
今回実施する作業では対応前はPHPのバージョンが5.6となっていたため、バージョン8.0へのバージョンアップ作業を行います。
まずは作業手順を説明し、その後トラブル発生時の対応方法について説明します。今回利用しているレンタルサーバは「ロリポップ!」となっていますので、そちらのレンタルサーバ管理画面を利用して説明します。
作業
管理画面からPHPのバージョンを変更します。
WordPressの資材及びDBのバックアップを取得します。バックアップを取得するために便利なプラグインを2つ紹介します。All-in-One WP Migrationは断面バックアップを取得するのに便利です。作業前がWordpressの引っ越し作業などでよく使われるプラグインとなります。
プラグインでバックアップを取得するのは簡単ですが、同プラグインで復元しようとするとアップロードの上限が20MBとなりますのでサイズが大きいバックアップファイルは復元に注意が必要です。
BackWPupは断面的なバックアップ以外にも定期的にバックアップを取得する作業に適していています。Cronを使ってスケジューリングすることができますので、断面だけではなく継続的にバックアップを取得することができ、さらに世代管理も設定画面にて行うことができます。
各レンタルサーバの管理画面よりバージョンアップを行うことができます。
バージョンアップをした際にうまく表示されないケースがあります。日中などに作業をするとサイトが表示されない状態となり機会損失となります。特にECサイトなどサイトから売り上げを立てる場合にはサイトが表示されないだけで売り上げが落ちることになるため、バージョンアップ作業を行う際にはできるだけアクセス数が少ない時間帯に行うようにしましょう。
またバージョンアップ後うまく表示されない場合はバージョンを戻すことも必要になりますので、戻しの可否及び手順は事前に整理しておくことをおすすめします。
実際にサイトを開いて画面レイアウトに崩れがないかを確認します。PHPのバージョンアップの場合エラーが起きるのはPHP関連が多いためヘッダー・フッターなどにエラーが発生する場合があります。
エラー発生時の確認方法
エラー発生時、確認準備
PHP.iniにてエラーを画面に表示できるように設定できます。
エラーを画面に表示するようにするとエラーだけではなくワーニングも表示します。通常エラーは表示されないように見えますが、ワーニングは多く発生していることが多く、本作業をすることで画面上にワーニングが表示されます。
夜間などアクセス数が少ない時間で作業をするようにしましょう!
画面にエラーを表示すると、どのファイルの何行目にエラーが発生しているのかがわかりますで、該当ファイルの該当箇所を確認しエラーを修正します。
エラー内容①:画面が表示されない(真っ白)
サイトを開いて画面が真っ白になった場合、、、PHPのエラーが発生しています。上記でPHPのエラーを表示されると該当箇所及びエラー情報が表示されますので内容を確認してください。
たいだいは{}を[]に修正
if ($dynamicRuleType{0} == 'M' || $dynamicRuleType{0} == 'Q') {
PHP8になると{を使った場合、エラーとなります。正しくは[とする必要がありますので、上記のケースは以下のように修正します。
if ($dynamicRuleType[0] == 'M' || $dynamicRuleType[0] == 'Q') {
このようなケースは数多く存在するとは思いますが、根気よく変換していく必要があります。一括変換を使うと予期せぬ箇所まで変換してしまうため、新たなエラーが発生してしまいます。手間ですがしっかり目視し、修正箇所であることを確認してから変換しましょう!
コメントアウトはphpないで行う
サイトの表示が途中までしか表示されない場合はソースの途中で不適切なコーディングがある場合となります。その場合は画面のソースを開いてどこまでHTMLが表示されているかを確認します。その結果、Wordpress内の固定ページや投稿ページから該当ページを開きサイトに表示されているソースを確認します。
以下は事例ですが、コメントアウトをする際にPHPをHTMLごとコメントアウト化している場合があります。PHP7ではこのようなコーディングでも問題なくコメントアウト化されHTMLに影響を及ぼしません。ただしPHP8ではPHPが正しくコメントアウト化されないためサイトの表示が途中までの表示となります。
<!-- <p><?php echo $hoge;?></p> -->
そのためPHP部についてもPHPのコメントアウト化を行います。
<!-- <p><?php // echo $hoge;?></p> -->
HTMLのコメントアウト <!– –>
PHPのコメントアウト // または /* */
上記対応が終わりましたらサイトをF5で更新してください。
参考サイト
まとめ
PHP7.xをPHP8へバージョンアップする際の注意点をまとめてみました。PHPのバージョンアップは不具合が起きる可能性が高く、作業のタイミングとバックアップ手法をしっかり整理してから作業に当たることをおすすめいたします。
サイトだけでなく、システムでPHPを利用している場合は表示確認だけではなくシステムの基本的な動作まで確認することをおすすめ致します。
PHP7.xのサポート切れに伴い、バージョンアップしたいけど方法がわからない、不安がある、などの場合は問い合わせフォームよりご連絡ください。