WordPressで突然サイトが表示されなくなり、「PHP Fatal error」というエラーメッセージが表示されることがあります。
英語のメッセージが並んでいるため、「何が原因なのか分からない」「自分では対処できない」と感じる方も多いでしょう。

PHP Fatal Errorは、PHPの処理を続けられない重大なエラーが発生したことを示しています。
プラグインやテーマの不具合、PHPバージョンとの互換性、コードの記述ミスなど、さまざまな原因によって発生します。

しかし、Fatal Errorには原因となったファイル名や行番号が表示されることが多く、エラーメッセージの内容を読み取ることで原因を絞り込めるケースも少なくありません。

この記事では、PHP Fatal Errorとは何か、よくある原因、エラーメッセージの見方、原因を切り分けるポイントを分かりやすく解説します。
WP_DEBUGを利用したログの確認方法についても紹介しますので、慌てず一つずつ確認していきましょう。

結論
PHP Fatal Errorは、PHPの処理を続けられない重大なエラーです。
エラーメッセージには原因となるファイル名や行番号が表示されることが多いため、内容を確認しながら原因を切り分けることが解決への近道になります。

こんな方におすすめ

  • PHP Fatal Errorと表示されて困っている
  • エラーメッセージの見方が分からない
  • プラグインやテーマが原因か知りたい
  • WP_DEBUGやエラーログの確認方法を知りたい
  • 同じエラーを繰り返さないようにしたい

この記事で分かること

  • PHP Fatal Errorとは何か
  • Fatal Errorが発生する主な原因
  • エラーメッセージの見方
  • 原因を切り分けるポイント
  • WP_DEBUGを利用した調査方法

PHP Fatal Errorとは

PHP Fatal Errorとは、PHPが処理を続行できない重大なエラーが発生した状態です。
エラーが発生した時点で処理が停止するため、WordPressの画面が表示されなかったり、500エラーや真っ白な画面になることがあります。

Fatal Errorは処理が停止するエラー

PHPにはさまざまな種類のエラーがありますが、その中でもFatal Errorは処理を続けられない重大なエラーです。
エラーが発生すると、その時点でPHPの実行が停止するため、WordPressも正常に動作しなくなります。

カスタマイズ中に多いエラー
テーマのカスタマイズ中に起きやすいエラーで、PHPの記述が間違っていることが原因のケースが多いため、カスタマイズの際にはバックアップを取りながら対応しましょう。
元データをアップする、カスタマイズ前の記述に戻すことで直るケースがほとんどです。

500エラーや真っ白な画面になることもある

Fatal Errorが発生すると、サーバーの設定によっては「500 Internal Server Error」が表示されたり、画面が真っ白になるだけの場合もあります。
症状は異なりますが、原因を調査するとPHP Fatal Errorが記録されているケースも少なくありません。

500エラーについて詳しく知りたい方は、「WordPressの500エラーの原因と対処法」もあわせてご覧ください。

Fatal Errorは原因を特定しやすいエラーでもある

Fatal Errorは重大なエラーですが、エラーメッセージにはファイル名・行番号・エラー内容が表示されることが多くあります。
英語だからと諦めず、どこで何が起きたのかを確認することで、原因を絞り込める可能性があります。

ポイント
Fatal Errorは「重大なエラー」という意味ですが、原因が分からないエラーではありません。
エラーメッセージを読み解くことで、原因となったファイルや処理を特定できることがあります。

PHP Fatal Errorでよくある原因

PHP Fatal Errorは、PHPが処理を続けられない重大なエラーです。
表示されるエラーメッセージはさまざまですが、原因はある程度パターン化されています。まずは、よくある原因を確認してみましょう。

プラグインの不具合

プラグインの更新や追加によって、PHPのエラーが発生することがあります。
WordPressやPHPのバージョンとの互換性が原因となるケースも少なくありません。

テーマの不具合やカスタマイズ

functions.phpやテンプレートファイルの編集ミス、古いコードの利用などによりFatal Errorが発生することがあります。
子テーマをカスタマイズしている場合も確認が必要です。

PHPバージョンとの互換性

PHPをアップデートしたあとにFatal Errorが発生した場合は、テーマやプラグインが新しいPHPに対応していない可能性があります。
対応状況を確認し、必要に応じてPHPバージョンを戻して検証しましょう。

WordPress本体の更新

WordPress本体のアップデートによって、古いテーマやプラグインとの互換性が失われ、Fatal Errorが発生することがあります。

独自のPHPコード

独自に追加したPHPコードや外部ライブラリとの連携部分でエラーが発生することもあります。
記述ミスだけでなく、存在しない関数やクラスを呼び出しているケースもあります。

ポイント
Fatal Errorは「どこでエラーが発生したか」が分かることが多いエラーです。
エラーメッセージの内容と照らし合わせながら確認すると、より効率的に原因を絞り込めます。

PHP Fatal Errorの見方

Fatal Errorのメッセージには、原因を特定するための重要な情報が含まれています。
英語で表示されるため難しく感じますが、すべてを理解する必要はありません。
まずは「どこで、何が起きたのか」を確認しましょう。

エラーの種類を確認する

最初に表示されるFatal errorUncaught Errorなどは、エラーの種類を表しています。
WordPressでは「Fatal Error」が表示されている場合、PHPの処理が途中で停止したことを意味します。

ファイル名を確認する

エラーメッセージには、問題が発生したPHPファイルの場所が表示されます。
例えば、/wp-content/plugins/で始まる場合はプラグイン、/wp-content/themes/で始まる場合はテーマが原因である可能性があります。

行番号を確認する

最後に表示されるline ○○は、エラーが発生した行番号です。
テーマやプラグインを開発している場合は、この行番号を確認することで原因の箇所を特定しやすくなります。

原因を推測する

「Call to undefined function」「Class not found」「Allowed memory size exhausted」など、エラーメッセージには原因を示すキーワードが含まれていることがあります。
これらの内容とファイル名を組み合わせることで、どこを確認すべきか判断しやすくなります。

運用のポイント
Fatal Errorは、英語の文章をすべて読む必要はありません。
「エラーの種類」「ファイル名」「行番号」の3つを確認するだけでも、原因を大きく絞り込める場合があります。

原因別に確認したいポイント

エラーメッセージから原因となるファイルや行番号が分かったら、次は原因ごとに確認すべきポイントを整理します。
いきなり複数の修正を行うのではなく、原因に近い箇所から一つずつ確認していきましょう。

ポイント
PHP Fatal Errorでは、エラーメッセージに表示されたファイル名や行番号が重要な手がかりになります。
どのプラグイン・テーマ・カスタマイズが関係しているのかを確認しながら、原因を絞り込むことが大切です。

プラグインが原因だった場合

エラーのファイルパスに/wp-content/plugins/が含まれている場合は、プラグインが原因の可能性があります。
該当プラグインを一時的に停止し、最新版が公開されていないか、開発元から不具合情報が出ていないか確認しましょう。

テーマが原因だった場合

ファイルパスに/wp-content/themes/が含まれている場合は、テーマや子テーマのファイルが原因の可能性があります。
functions.phpやテンプレートファイル、最近編集したカスタマイズ内容を確認しましょう。

PHPバージョンが原因だった場合

PHPアップデート後にFatal Errorが発生した場合は、テーマやプラグインが新しいPHPに対応していない可能性があります。
一時的に以前のPHPバージョンへ戻して改善するか確認し、対応版が公開されていないか確認しましょう。

独自コードが原因だった場合

自分で追加したPHPコードや、制作時に追加された独自処理が原因になることもあります。
特に、存在しない関数やクラスの呼び出し、古い書き方、PHPバージョン変更で使えなくなった記述がないか確認しましょう。

メモリ不足が原因だった場合

Allowed memory size exhaustedのようなメッセージが表示されている場合は、PHPのメモリ不足が原因の可能性があります。
プラグインの処理が重くなっていないか、サーバーのメモリ上限に達していないか確認しましょう。

原因が分かっても、自分で修正できないケースは少なくありません。その場合は、エラーメッセージや発生状況を整理したうえで、制作会社・保守会社・プラグイン開発元などへ相談しましょう。

WP_DEBUGを使って原因を調査する

Fatal Errorが画面に表示されない場合でも、WP_DEBUGを有効にして原因となったエラーをログへ記録できます。
エラーメッセージを確認できないときは、WP_DEBUGとサーバーのエラーログを活用しましょう。

WP_DEBUGを有効にする

wp-config.phpへ以下の設定を追加すると、Fatal Errorなどの情報をログへ出力できます。

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

WP_DEBUG_DISPLAYfalseにすることで、本番環境でも画面へエラーを表示せず、ログファイルだけへ出力できます。

debug.logを確認する

ログは通常、wp-content/debug.logへ保存されます。
Fatal Errorが発生した日時のログを確認すると、原因となったファイル名や行番号を確認できる場合があります。

サーバーのエラーログも確認する

Fatal Errorによっては、WordPressのログだけでは十分な情報が取得できないこともあります。
レンタルサーバーの管理画面からエラーログを確認すると、PHPやサーバー設定に関する情報が記録されている場合があります。

運用のポイント
WP_DEBUGは原因調査に便利ですが、調査が終わったら無効に戻しておきましょう。
また、debug.logにはエラー情報が蓄積されるため、不要になったログは削除することをおすすめします。

よくある質問

PHP Fatal Errorとは何ですか?

PHP Fatal Errorとは、PHPが処理を続行できない重大なエラーです。テーマやプラグインの不具合、PHPとの互換性、コードの記述ミスなどが原因で発生し、WordPressが正常に表示されなくなることがあります。

PHP Fatal Errorが表示されたら、まず何を確認すればよいですか?

まずはエラーメッセージに表示されているファイル名行番号を確認しましょう。/wp-content/plugins/であればプラグイン、/wp-content/themes/であればテーマが原因である可能性があります。

Call to undefined functionとは何ですか?

「Call to undefined function」は、存在しない関数を呼び出そうとしたときに表示されるFatal Errorです。テーマやプラグインの不具合、PHPバージョンとの互換性、必要なファイルが読み込まれていないことなどが原因として考えられます。

Class not foundとは何ですか?

「Class not found」は、利用しようとしたクラスが存在しない場合に発生するFatal Errorです。プラグインやテーマの更新漏れ、autoloadの設定ミス、必要なファイルが読み込まれていないことなどが原因になることがあります。

Allowed memory size exhaustedとは何ですか?

「Allowed memory size exhausted」は、PHPに割り当てられたメモリ上限を超えたことを示すエラーです。重いプラグインや大量の画像処理、サーバーのメモリ設定などが原因になることがあります。

WP_DEBUGは本番環境でも利用できますか?

利用できます。本番環境ではWP_DEBUG_DISPLAYfalseに設定し、画面には表示せずdebug.logへ出力する方法がおすすめです。調査が終わったら、WP_DEBUGは無効に戻しましょう。

原因が分からない場合はどうすればよいですか?

エラーメッセージやdebug.log、サーバーのエラーログを確認しても原因が特定できない場合は、制作会社や保守会社へ相談することをおすすめします。問い合わせの際は、エラーメッセージ全文、発生日時、直前に行った作業内容を伝えると、原因を特定しやすくなります。

PHP Fatal Errorを防ぐために日頃から心掛けたいこと

PHP Fatal Errorは突然発生するように見えますが、日頃の保守・運用によって発生リスクを減らせる場合があります。特に、WordPressやPHPを更新する前の準備が重要です。

更新前は必ずバックアップを取得する

WordPress本体やテーマ、プラグイン、PHPのアップデートを行う前には、必ずバックアップを取得しておきましょう。万が一Fatal Errorが発生しても、正常な状態へ戻せる可能性があります。

テーマ・プラグインの対応状況を確認する

WordPressやPHPを更新する前に、利用しているテーマやプラグインが対応しているか確認しましょう。特に長期間更新されていないプラグインは、互換性の問題が発生しやすくなります。

PHPコードを編集するときは慎重に行う

functions.phpやテンプレートファイルを編集する場合は、変更前にバックアップを取得し、一度に大きく変更しないことが大切です。少しずつ修正し、その都度動作を確認すると原因を特定しやすくなります。

テスト環境で動作確認を行う

本番サイトへ直接更新を行うのではなく、テスト環境で事前に動作確認を行うことで、Fatal Errorの発生リスクを大きく減らせます。企業サイトやECサイトなど、停止による影響が大きいサイトでは特におすすめです。

変更履歴を残しておく

テーマやプラグインの更新、PHPバージョンの変更、コードの修正などを記録しておくと、トラブル発生時に原因を振り返りやすくなります。変更日時や作業内容を簡単にメモしておくだけでも役立ちます。

運用のポイント
PHP Fatal Errorを完全に防ぐことはできませんが、バックアップ・互換性の確認・テスト環境での検証を習慣化することで、多くのトラブルは未然に防げます。
また、変更履歴を残しておくことで、万が一エラーが発生した場合でも原因の特定がスムーズになります。