ワードプレス(WordPress)

PHP8.3にアップグレードしたらWordPressが真っ白に?その原因と対処法を解説します

この記事は約5分で読めます。

PHP8.3にアップグレードしたらWordPressが真っ白に最近、PHPのバージョンを7.4から8.3にアップグレードしたところ、WordPressのサイトが真っ白になって表示されなくなった、という問題を複数みかけるようになりました。このようなトラブルにはいくつかの原因が考えられます。
その主な原因と解決方法について、なるべく専門用語を避けながらやさしく解説します。このような問題に直面した方の役に立てれば幸いです。

PHPをアップデートしたさいのWordPress不具合対応

主な原因は「PHPの互換性」や「プラグインの不具合」

PHPの互換性の問題

PHP8.3では、従来のバージョンに比べて動作のルールが厳しくなっています。そのため、PHP7.4では正常に動いていたコードでも、8.3ではエラーになってしまうケースがあります。

特に次のような点が影響することがあります:

  • 古い関数(非推奨関数)を使っている

  • データの型(数値や文字列など)の扱いが正しくない

  • 文法(書き方)の変更点に対応していない

テーマがPHP8.3に非対応かもしれません

「Lightning」や「Cocoon」などの人気のテーマを使っている場合は、最新版にアップデートされているかどうかを確認しましょう。古いバージョンのままだと、PHPをアップデートしたさいに不具合を起こす可能性があります。
また、テーマをカスタマイズしていたり、オリジナルのテーマを使っている場合は、テーマ内にPHPの最新版に対応できていない部分があるかもしれません。その場合は、カスタマイズをした制作者さんと相談してください。

プラグインの非対応

プラグインの中に、PHP8.3にまだ対応していないものが含まれている可能性があります。更新されていないプラグインや、古いものは特に注意が必要です。
実際にこのような問題がおきたときには、なんらかのプラグインが原因になっている可能性が高いです。
この機会に使っていないプラグインは停止および削除したほうがよいです。

メモリ制限の影響

PHP8.3では処理が速くなる一方で、必要なメモリの量が増える場合もあります。サーバー側のメモリ設定が不足していると、エラーが起きて真っ白な画面になることがあります。

解決策(対処方法)

デバッグモードをオンにする

まずは、何が原因でエラーが起きているのかを確認するために、WordPressの「デバッグモード」を有効にしましょう。

wp-config.php というファイルを開き、以下のコードを追加または変更してください:

define('WP_DEBUG', true);
define('WP_DEBUG_LOG', true);
define('WP_DEBUG_DISPLAY', true);

これにより、エラーの内容が表示されたり、ログファイルに記録されるようになります。

プラグインの一括無効化と個別確認(FTPを使用)

FTPを使ってプラグインをひとつづつ動作確認してみましょう。

SFTP接続したいのならばFTPクライアントソフトはFFFTPよりもFileZillaを選択したほうが便利
FFFTPはWEBサーバとのデータをやりとりするためのFTPソフトの定番である。現在、FFTPの弱点は、通信データを暗号化するSFTP接続が非常にむずかしく、現実的には暗号化通信ができないことである。(2010年当時)どうしてもFFFTPでSFTP接続するためにはPuTTYなどのSSH接続できる通信ソフトと連携させる必要があるが、この設定や運用がけっこう面倒くさく、エンジニアでない一般の方が設定す...

FTPソフトにはいろいろありますが、ここでは動作が安定しているFileZillaを使った例で紹介します。もしFFFTPのほうが使いやすいというのならそれでも構いません。FTPソフトを使う際は必ず最新版にアップデートしてください。

FTPソフト(例:FileZilla)を使用した手順は以下の通りです。

  1. FTPソフトの準備

    • FileZillaなどのFTPクライアントをインストールします。

    • サーバーのFTP接続情報(ホスト名、ユーザー名、パスワード)を準備します。

  2. サーバーへ接続

    • FTPソフトを使ってサーバーにログインします。

    • 通常「public_html」や「www」というフォルダがWordPressの設置先です。

  3. プラグインフォルダの操作

    • 「wp-content」→「plugins」フォルダにアクセスします。

    • 「plugins」フォルダの名前を「plugins_old」などに変更してください。 → これにより、すべてのプラグインが一時的に無効になります。

  4. サイトを確認

    • Webブラウザでサイトを開き、表示が回復していれば、プラグインが原因です。

  5. プラグインを一つずつ戻して確認

    • 「plugins_old」フォルダ内の各プラグインを、ひとつずつ新しい「plugins」フォルダに移動します。

    • 移動後にサイトを確認して、真っ白になるプラグインを特定してください。

  6. 問題のあるプラグインは除外

    • 不具合のあるプラグインは使用を停止し、他のプラグインは戻しましょう。

PHPバージョンを一時的に戻す

どうしてもサイトが復旧しない場合は、サーバーの管理画面からPHPのバージョンを一時的に8.0または8.1に戻すこともひとつの方法です。時間をかけてゆっくりと互換性対応を進めましょう。

その他の確認ポイント

  • テーマのカスタマイズ部分に古いコードが含まれていないか確認

  • サーバーのエラーログをチェックして具体的なエラー内容を把握

作業前の注意点

システムの大きな更新を行うときには、次のことが大切です:

  • 更新前には必ずバックアップを取っておきましょう

  • 本番環境に適用する前に、テスト環境で動作確認を行いましょう

  • 更新後も、定期的にプラグインやテーマを最新版に保つことが重要です

不具合が起きると焦ってしまいがちですが、落ち着いて一つずつ確認すれば、原因を特定し復旧することができます。今回の内容を参考に、安全なアップグレード作業を進めていただければ幸いです。