Copicode 日本語トップ

PHPエラー種別の読み方最初に見る場所を分ける

PHPで真っ白画面や500エラーになると、焦ってコードを大きく書き換えたくなります。でも、最初にやることは修正ではなく、エラー文を分解することです。

Parse errorFatal errorWarningDeprecated のどれかで、最初に見る場所は変わります。このページでは、エラー種別、メッセージ、ファイル名、行番号、直前の変更を抜き出して、AIや人へ安全に相談できる形へ整理します。

確認日と対象

確認日: 2026年6月12日。ロリポップやローカル環境で、自作PHPサイトのエラー文を見ている初心者向けです。

WordPress本体やプラグイン固有の管理画面エラー、大規模フレームワーク固有の例外処理は対象外です。まず、PHPが出しているエラー文の種類と、どのファイルの何行目で止まったかを読むためのページです。

作成方針: このページは、実サイト運用、ローカル確認、PHP公式情報、ロリポップ公式情報をもとに整理しています。構成整理にはAIを補助的に使うことがありますが、危険操作、秘密情報、対象範囲、関連リンクは公開前に確認しています。

このページで整理できること

  • エラー文の先頭にある種別から、最初に疑う場所を決める
  • ファイル名、行番号、直前の変更を分けてメモする
  • Parse errorFatal error の見方を分ける
  • WarningNoticeDeprecated を放置してよいか判断する
  • AI/Codexやサーバー会社へ貼ってよい情報と伏せる情報を分ける

エラー文を読む順番

エラー文は、種類、内容、ファイル、行番号、直前の変更へ分けると、次に見る記事や相談先を選びやすくなります。

PHPエラー文をエラー種別、メッセージ、ファイル名、行番号、直前の変更に分け、Parse error、Fatal error、Warningごとに次の確認先を選ぶ図解

先に結論

Parse error は、まず構文チェックと少し上の行を見ます。Fatal error は、読み込み先、関数、class、DB接続など「処理を続けられない原因」を見ます。WarningDeprecated は表示が続いても、後で本番トラブルにつながることがあります。

本番サイトで display_errors を出しっぱなしにするのは避けます。エラー文をメモしたら、ログで確認する運用に戻してください。

まず抜き出す5つ

エラー文が長くても、最初から全部を理解する必要はありません。次の5つだけ抜き出すと、相談もしやすくなります。

見る部分分かることメモ例
エラー種別構文ミスか、致命的停止か、警告かParse error / Fatal error
メッセージ何が読めないか、何が未定義かFailed opening required
ファイル名どのPHPで止まったか/templates/example.php
行番号どの周辺を見るかon line 42
直前の変更原因候補を広げすぎないための手がかりinclude追加、PHPバージョン変更、FTP上書き

エラー種別の早見表

種別よくある意味最初に見る場所次に読む記事
Parse errorPHPの文法として読めないセミコロン、括弧、クォート、直前に編集した行PHP真っ白の確認順
Fatal error処理を続けられず停止したrequire、関数名、class、DB接続require/include判断
Warning問題はあるが続く場合があるファイル読み込み、権限、配列キー、外部通信エラーログ確認
Notice未定義変数などの注意変数名、配列キー、初期値エラーログ確認
Deprecated今後使えなくなる古い書き方PHPバージョン変更後の関数や引数PHPバージョン変更後の確認
500 Internal Server Errorブラウザには詳細が出ないサーバー側停止PHPログ、.htaccess、PHP設定.htaccess 500復旧

Parse errorは少し上の行も見る

Parse error は、行番号そのものではなく、少し上の行に原因があることがあります。閉じ忘れた括弧やクォートのせいで、次の行で初めてPHPが読めなくなるためです。

C:\xampp\php\php.exe -l templates/lolipop/example.php

Fatal errorは止まった理由を分ける

Fatal error は、PHPが処理を続けられない状態です。ファイルが読めないのか、関数やclassがないのか、DB接続で止まったのかを分けます。

よくある文疑う場所最初の行動
Failed opening requiredrequire 先のパス、FTP上の置き場所__DIR__、大文字小文字、アップロード漏れを確認
Call to undefined function関数定義ファイル、関数名の typo関数ファイルを読み込めているか確認
Class not foundclassファイル、autoload、ファイル名本番にファイルがあるか、読み込み順を確認
Cannot redeclare同じ関数やclassの重複読み込みrequire_once や読み込み場所を確認
Uncaught PDOExceptionDBホスト名、DB名、ユーザー、パスワード秘密情報を伏せて接続情報の種類だけ整理

WarningやNoticeは消す前に原因を見る

WarningNotice は、画面が表示されることもあります。ただし、フォーム送信、画像処理、ログ保存、includeの一部が失敗している場合があります。

本番で画面に出て困るからといって、エラー表示だけを消すと原因が残ります。先に、どのファイル、どの行、どの変数やパスで出ているかをメモします。

DeprecatedはPHPバージョン変更後に見る

Deprecated は今すぐ止まらなくても、将来のPHPバージョンで動かなくなる可能性を知らせるものです。ロリポップでPHPバージョンを変更した後に増えた場合は、古い関数や引数の使い方を確認します。

フォーム、管理画面、DB接続など、公開中の機能に出ている場合は後回しにしすぎず、修正範囲を小さく分けて対応します。

本番でエラー表示を出しっぱなしにしない

原因調査ではエラー文が必要ですが、本番サイトにエラーを出しっぱなしにすると、サーバー上のパス、ファイル構成、設定の一部が見えることがあります。

状態おすすめ理由
ローカルやテスト環境エラーを表示して原因を探す構文ミスや行番号を早く見つけるため。
公開中の本番サイトログで確認するパスや設定情報を見せないため。
一時的に表示した後メモして元に戻す調査後の戻し忘れを防ぐため。

ロリポップで確認する順番

  1. 直前に変更したPHPをローカルで php -l する
  2. 画面のエラー文、またはロリポップ側のPHP設定・エラー表示を確認する
  3. エラー種別、ファイル名、行番号をメモする
  4. 本番だけなら、アップロード先、ファイル名の大文字小文字、include/requireのパスを見る
  5. PHPバージョン変更後なら、Deprecated や古い関数を確認する
  6. 調査後は、本番のエラー表示を出しっぱなしにしない

AIやCodexに相談する時のメモ

AIへ貼る時は、サーバーの絶対パス、DB接続情報、FTP情報、APIキーを伏せます。エラーの種類、相対的なファイル位置、直前の変更だけでも切り分けは進められます。

PHPエラーの読み方を相談したいです。

エラー種別:
例: Parse error / Fatal error / Warning / Notice / Deprecated / 500

エラー全文:

エラーに出ているファイル名:

行番号:

直前に変更した作業:
例: include追加 / PHPバージョン変更 / FTP上書き / DB接続追加

ローカルでは動くか:

本番のPHPバージョン:

php -l の結果:

すでに確認したこと:
- ファイルが本番にあるか:
- 大文字小文字:
- include / require のパス:
- display_errorsを戻したか:

サーバーの絶対パス、FTP情報、DB接続情報、APIキー、個人情報は伏せています。
危険な削除や本番のエラー表示出しっぱなしを避けて、最初に見る場所を教えてください。

サーバー会社や制作会社に聞く時のメモ

サーバー側の設定やログの見方を聞く時は、コード全体ではなく、URL、症状、エラー種別、確認済み項目を送ります。

PHPエラーについて確認したいです。

対象URL:

症状:
例: 真っ白 / 500エラー / Fatal error / Warning

エラー種別:

エラー文:

エラーに出ているファイル名と行番号:

直前に変更したこと:

確認済み:
- php -l:
- PHPバージョン:
- display_errors:
- include / require のパス:
- .htaccess変更:

サーバー上の絶対パス、FTP情報、DB接続情報は伏せています。
ロリポップ側で確認すべきPHP設定やログの場所があれば教えてください。

公式情報で確認するところ

この記事では、初心者が原因を探しやすい順番に並べ替えています。細かい定義や設定名は公式情報で確認できます。

確認したいこと公式情報この記事での使い方
エラー種別の定義PHP公式 エラー定数E_ERRORE_WARNINGE_PARSEE_DEPRECATED の意味を確認します。
表示とログの設定PHP公式 エラーとログ設定display_errorslog_errors の使い分けを確認します。
どのエラーを報告するかPHP公式 error_reportingE_ALL など、報告対象の考え方を確認します。
ロリポップのPHP設定ロリポップ公式 PHP設定PHPバージョン、display_errorserror_reporting の確認に使います。

関連記事