タイトル: エラー一覧
PHPのエラー一覧に関する記事です。実行時に発生する代表的なエラー・警告と、それらへの対応をまとめています。
子ページからエラーを選択してください。
PHPのエラー種別
| 種類 | 意味 | 挙動 |
|---|---|---|
| Fatal error | 致命的エラー | スクリプト停止 |
| Parse error | 構文エラー | スクリプト停止(実行前) |
| Warning | 警告 | 続行するが想定外動作の可能性 |
| Notice | 軽微な通知 | 続行。未定義変数参照など |
| Uncaught Error / Exception | 未捕捉の例外 | スクリプト停止 |
子ページのカテゴリ
実行時間・メモリ
- Maximum execution time of 30 seconds exceeded —
max_execution_timeの調整、長時間処理の分割
型・変換エラー
- Cannot use object of type stdClass as array — オブジェクトを配列としてアクセス
- Object of class stdClass could not be converted to string — 暗黙の文字列変換
- A non well formed numeric value encountered — 数値変換できない文字列の演算
未定義参照
- Use of undefined constant — 定数の未定義(クォート漏れが多い)
- Class 'Xxx' not found — autoload設定や名前空間の問題
- Call to undefined method — メソッド名のtypoやライブラリのバージョン違い
環境・拡張モジュール
- requested PHP extension mbstring/dom is missing —
php-mbstring等の追加インストール - could not find driver — PDOドライバが未インストール
- Your requirements could not be resolved — composerの依存解決失敗、PHP拡張バージョンの不一致
ヘッダ・I/O
- Cannot modify header information - headers already sent — 出力後に header()/setcookie() を呼んだ
- XMLWriter::openUri(): Unable to resolve file path — パス指定の誤り
ネットワーク
- getaddrinfo failed: Name or service not known — 名前解決失敗
共通する基本の確認
- エラーの発生ファイル名と行番号を確認
- そのファイルを開き、該当行の変数の中身を
var_dump()やdd()で確認 - 本番でエラーが画面に出ている場合は
display_errors=Offにし、error_logでログに送る - PHPバージョンによって挙動が変わるエラーが多いので、
php -vで現行バージョンを確認
関連
- PHP本体の操作・設定は親ページ「PHP」を参照
- composer絡みのエラーは「Your requirements could not be resolved」ページが入口