【悲報】PHPバージョンアップでWordPress管理画面が真っ白に!! (WordPressのPHPバージョン 5.X系適用中 ロリポップユーザー向け )
数日前のこと、ロリポップ上の当方WordPressがアクセス不能になってしましまいました。
この原因は、PHP 5.X系から7.4へのバージョンアップを実行してしまったため。
後悔してもすでに遅しなのですが、
これ、私と同じようにPHPを更新してしまうとサイトを元に戻せなくなるという致命的な状況に見舞われると思われたので、ここでシェアさせていただきます。
(ロリポップユーザー向け) WordPressのPHPバージョン更新時は事前バックアップを!
PHPは、現行のバージョン7.4 未満の公式サポートを終了しており(7.3はセキュリティサポートのみ対応継続中)、使っているPHPバージョンが5.X系のままだとテーマの更新ができないなんて不都合な状況も起きてきています。
セキュリティ的な理由からも、PHPのバージョンをなるはやで更新したいところなのですが…
もし、あなたのWordPressがそのような状況で、なおかつ、そのWordPressを置いているサーバーがロリポップだったら、ちょっと待ったです。
というのは、ロリポップの場合、一度バージョンアップ(アップグレード)してしまったPHPバージョンをダウングレードできないからなんです。
実際、ロリポップサーバー管理者画面にも以下のような説明があります。
このたびの障害について
障害内容
WordPressを置いているサーバー上のPHPバージョンを更新(アップグレード)後、WordPressサイトが正常に表示されなくなってしまった。
サイトによっては、サイトURLにアクセスすると上の画像のような状態、他には、管理用ログイン画面までは正常表示、ログインすると、画面は真っ白のまま、何もできない状態、といった状態。
PHPバージョン更新をした背景
PHPは、現行のバージョン7.4 未満の公式サポートを終了しており(7.3はセキュリティサポートのみ対応継続中)、使っているPHPバージョンが5.X系のままだとテーマの更新ができないなんて不都合な状況も起きてきています。
セキュリティ的な理由からも、PHPのバージョンをなるはやで更新したいと考え、サイトのバックアップを「All-in-One WP Migration」プラグインで取得したうえ、PHPのバージョン更新を実行しました。
【参考】以下公式サイトより PHPバージョン履歴・サポート状況
●現在サポートされているバージョン一覧
●既にサポート終了しているバージョン一覧
解決策
同様の問題に遭遇されている方々の情報を参考にさせていただいたところ、
PHPバージョンを7.4(7.X以上)にするとWordPressが壊れてしまう今回事象の場合、PHPバージョンを戻すととりあえず元の状態に戻り、問題が解決するようです。
なので、解決手順としては、以下のように進めていきます。
(1) いったん、PHPバージョンを元に戻してサイトを復旧、
(2) WordPressの管理画面から、PHPバージョンを更新すると障害になりそうな原因を調査(おそらく原因になりそうなのは一部のプラグイン)、
調査ツール: PHP Compatibility Checker
PHP Compatibility Checker
ja.wordpress.org
WordPressの更新時の事前確認には、上記のプラグインがとても役立ちます。
私も今回は、上記ツールで障害原因となるプラグインを調査しました。
(3) 障害原因への対応を実施 (必要であれば障害原因となっているプラグインを削除、無効化、バージョンアップしたりなどの対応を適宜行います。)
(4) 万全の状態にした後、サイトのバックアップを作成しておきます。
(5) ここまでやって、改めてPHPのバージョンをアップします。
※万一再び不具合発生しても、バックアップで元に戻して再度対策検討できます。
以上の手順で、晴れて公式サイトサポートバージョンのPHP設定済WordPressにできるはず。
ただ、今回の私の場合、この問題が発生したのがロリポップサーバー上であったこと。
ロリポップサーバーの場合、いったんバージョン更新(アップグレード)をしたPHP設定は、ダウングレードできない(元のバージョンには戻せない)からなのです。そこで…
問題解決のために私が試みたこと ( 問題解決の過程 )
作業直前に作成したサイトのバックアップファイルをエックスサーバー上で作成した新規WordPressサイトにインストールして、サイト復旧を試みました。
この時わかったこと
ロリポップの場合:-自分がPHP設定を更新しないとPHPの設定は更新されないままであった。
-いったんアップグレードしたPHP設定は二度とダウングレードできない。
【ロリポップサーバーでのPHP設定手順】
(1) サーバー管理者画面にログイン後、「サーバーの管理・設定」ー「PHP設定」をクリックします。
(2) PHPバージョン変更を適用するドメインの設定を変更します。
前述説明にもあったように、ロリポップの場合、いったん変更してしまうと、変更前は表示されていた5.X系バージョンが選べなくなってしまいます。
なので、ロリポップの場合は、PHPバージョンの設定変更は本当に慎重に行う必要があります。
エックスサーバーの場合:
-自身でバージョン更新した覚えはないが、すでにPHPバージョンは7.Xであった。
-すべてのバージョンに任意でアップ、ダウンが可能であること。
【エックスサーバーでのPHP設定】
(1) サーバー管理者画面(サーバーパネル)にログイン後、「PHP Ver.切替」ー「ドメイン選択画面」に進んだら、該当サイトのドメインを選択します。
(2) PHPバージョンを選択します。
ご覧の通り、エックスサーバーの場合は、バージョン変更がアップ・ダウン自由にできます。
今回私が行った解決手順
- エックスサーバーで新規WordPressサイトを作成
- ロリポップからのバックアップファイルをエックスサーバーの新規サイトにインポート
- ( エックスサーバーは、すでに 7.X PHPバージョンであったため、ここで同様の現象発生 )
- エックスサーバーのPHP設定を 5.6 にダウングレード
- ( これで、エックスサーバー上でサイトが無事復旧 )
今回の障害で学んだこと、振り返り
今回救いだった点
今回救いだったのは、以下2点(1) サイトのバックアップは作業直前に取得済であったこと(「All-in-One WP Migration」プラグインでバックアップファイルを作成済でした)
(2) ロリポップ以外のサーバー(エックスサーバー)を契約していたので、バックアップファイルを使ってエックスサーバーで復旧を試みることができました。
今回致命的だった点
エックスサーバー上で復旧を果たしたものの、PHPダウングレードができないロリポップ上では復旧目処が立たないこと。
問題が起きたサイトがデモ用で、正式ドメインを付けて公開しているようなサイトでなくて本当に良かった。
ということで、以下、改めまして本件で得た学び
今回改めて学んだ点
- 更新作業前には、入念な調査、慎重な実行が重要。
以上、ご参考まで。