気軽に読めるPHP入門書・PHPスクリプトが動かないときの原因と対策などを紹介します。

PHPプログラミングの教科書 [php1st.com]

WordPressでPHP 7にアップデートするとHTTP 500 エラーになる原因と対策

投稿日:

WordPressをPHP 7にバージョンアップすると画面が真っ白(HTTP 500 エラー)になることがあります。よくあるトラブルです。

PHPに慣れている方には想定の範囲内の出来事ですが、PHPに慣れていない方、特にWordPressを始めたときのバージョンがPHP 5.3とかPHP 5.6で、「PHP 7にするとページの表示スピードが高速になる」という文句につられて安易にアップデートしてしまった方もいると思います。

ほとんどの場合は大きな問題はありませんが、まれに画面が真っ白になってダッシュボードにアクセスできなくなってしまいます。

慣れていないと焦るかもしれませんが、サイトが消えてしまったり、投稿や固定ページがメチャクチャになってしまうような大トラブルではないので落ち着いて対応すれば、元に戻せるはずです。

原因がさまざまなので具体的な手順は紹介できませんが、おおざっぱな対策を説明します。参考にしてください。

PHPを古いバージョンに戻す

一刻も早くHTTP 500 エラーから逃れたい場合は、レンタルサーバーのメニューからPHPのバージョンを元に戻してください。主なレンタルサーバーのPHPバージョンメニューは次のとおりです。

主なレンタルサーバーのPHPバージョン設定メニュー
  • エックスサーバー:サーバーパネルの「PHP」‐「PHP Ver.切替」メニュー
  • さくらインターネット:サーバコントロールパネルの「アプリケーションの設定」‐「PHPのバージョン選択」メニュー
  • ロリポップ:「サーバーの管理・設定」‐「PHP設定」メニュー

PHP 7にアップデートする前のバージョン、たとえば、PHP5.6などに戻せば通常は画面が真っ白が解消されて、サイトやダッシュボードが表示されるようになります。

問題の根本原因を特定する

PHPを元のバージョンに戻さずにPHP 7を使う前提で問題を解決したい場合や、古いPHPに戻しても問題が解消しない場合は、問題の根本的な原因を取り除く必要があります。

WordPressをPHP 7にバージョンアップしてHTTP 500 エラーが発生する主な原因は次のとおりです。

  • WordPressのバージョンが古い
  • プラグインのバージョンが古い
  • テーマの記述がPHP 7に対応していない

ざっくりと言えば、WordPress本体やプラグイン、テーマのバージョンが古いのが原因です。新しくなったPHP 7の言語仕様に適合していないということです。基本的には「PHP 7が悪い!」ということではありません。

WordPress本体やプラグインについては、手動でアップデートすればほとんどの場合は解決するはずです。手動アップデートの方法はネット検索してみてください。
※アップデートする前に念のため現状のサイトをバックアップしておきましょう。

テーマについても新バージョンにアップデートできれば問題ありませんが、それほど単純ではないかもしれません。

テーマのバージョンアップ(PHP 7対応)が追いついていなかったり、デザイナーによるオーダーメイドだったり、親テーマ本体をカスタマイズしてしまっていたりと、PHP 7対応のテーマにアップデートできないケースもあるからです。

その場合、具体的に問題のあるファイルの行番号を特定して、その部分だけをコメントアウトするなどして応急処置するしかありません。

問題のある箇所(ファイル名・行番号)を特定する方法は以下のページも参考にしてください。

WordPressで画面が真っ白になったら「Fatal error」を探せ!

簡単に言えば設定ファイル(wp-config.php)に「define ('WP_DEBUG', true);」を記述してエラーメッセージを表示する設定にすれば、どのファイルに問題があるかわかります。

そのエラーメッセージをヒントにして、フォルダごと削除するのか、具体的な行番号あたりの問題のあるコードをコメントにするのか検討しましょう。

簡単に書きましたが、実際にトラブルが起きた時点で対処してみると焦って意外とうまくいかないこともあります。対処方法がよくわからなければ、WordPressメールサポートにご相談ください。

-エラーメッセージ

Copyright© PHPプログラミングの教科書 [php1st.com] , 2018 All Rights Reserved Powered by AFFINGER5.