【PHP】Lesson2-8:エラーメッセージを読めるようになろう

一つ前のレッスンでは 繰り返しの制御 について学習しました。
今回は エラーメッセージの読み方 について見ていきましょう。
Lesson1:基礎文法編
Lesson2:制御構造編
・Lesson2-1:比較演算子と論理演算子
・Lesson2-2:if文による分岐処理を理解しよう
・Lesson2-3:三項演算子を使いこなそう
・Lesson2-4:switch文による分岐処理を理解しよう
・Lesson2-5:for文による繰り返し処理を理解しよう
・Lesson2-6:while文による繰り返し処理を理解しよう
・Lesson2-7:繰り返しを制御しよう
・Lesson2-8:エラーメッセージを読めるようになろう ◁今回はココ
・Lesson2-9:例外処理を理解しよう
・確認問題2-1:ハイアンドロー ゲームを作ろう
・確認問題2-2:数字当てゲームを作ろう
・確認問題2-3:シンプルなじゃんけんゲームを作ろう
Lesson3:関数編
Lesson4:データ構造編
Lesson5:クラス編
エラーメッセージとは何か?
PHPを学習していると、必ずと言っていいほど遭遇するのが「エラーメッセージ」です。
文法ミスや設定の不備など、さまざまな原因で表示されるこれらのメッセージを正しく読み解くことができれば、トラブル対応のスピードが格段に上がります。
本記事では、エラーの種類や読み方を初心者向けにわかりやすく解説します。
エラーに戸惑わず、冷静に対応できるようになるための第一歩を一緒に踏み出しましょう。

エラーメッセージとは何か?|4種類のエラーの分類と特徴
エラーメッセージはプログラムが正常に動作しない場合に表示される通知です。
これには構文ミスや実行時エラー、軽微な警告など、さまざまな状況で発生するメッセージが含まれます。
初心者にとっては恐れられる存在ですが、エラーメッセージを正しく理解し活用すれば、効率的にバグを修正できるようになります。
PHPのエラーメッセージは、大きく以下の4種類に分類されます:
エラーの種類 | エラーの特徴 |
---|---|
Parse Error(構文エラー) | コードの文法ミスにより、PHPがスクリプトを解析できない場合に発生します。 |
Fatal Error(致命的エラー) | 存在しない関数を呼び出した場合など、実行時に修正不能な問題が発生した場合に表示されます。 |
Warning(警告) | スクリプトの実行には影響しないが、注意が必要な問題がある場合に発生します。 |
Notice(注意) | 軽微な問題であり、スクリプトの動作に支障はないが改善が推奨される場合に表示されます。 |
よくあるエラーメッセージの具体例と解決法
以下に、代表的なエラーメッセージの例とその解説を示します。
Parse error|構文エラー
PHPコードに文法上のミスがある場合に発生します。
例えば、セミコロンの付け忘れ、カッコや波カッコの閉じ忘れ、不要な記号など、コードがPHPの規則通りでないときに表示されます。
<?php echo "Hello" // セミコロンが抜けている echo "World";
エラーメッセージの例は以下の通りです。
Parse error: syntax error, unexpected 'echo' (T_ECHO) in /path/to/file.php on line 10
エラー行やその前後の文法ミス(セミコロン、カッコ、コロン等)を見直して正しく修正することで解決できます。
Undefined function|未定義関数
存在しない関数を呼び出そうとした場合に出ます。
関数名のスペルミスや、関数定義ファイルの読み込み忘れ、ライブラリのインストール漏れなどが主な原因です。
<?php echo "名前を入力してください: " . PHP_EOL; $name = fget(STDIN); // 関数名に誤記あり(正:fgets)
エラーメッセージの例は以下の通りです。
Fatal error: Uncaught Error: Call to undefined function myFunction() in /path/to/file.php on line 15
関数名の誤記がないか、また関数が正しく定義・インクルード・インストールされているか確認しましょう。
Undefined variable|未定義変数
初期化していない変数を使用した場合に発生します。
変数の宣言や代入前に値を参照しようとすると、想定外の動作やバグの元になります。
<?php $name = "PHP太郎" echo $nane; // 変数名に誤記あり
エラーメッセージの例は以下の通りです。
Warning: Undefined variable $name in /path/to/file.php on line 8
すべての変数は使う前に値をセットしておくようにしましょう。
Division by zero|ゼロ除算
0で割り算をしようとした時に出ます。
プログラムが強制終了にはならず警告で済みますが、結果が意図しないものになるので必ず事前チェックが必要です。
<?php $a = 10 / 0; // 0で割ることはできない
エラーメッセージの例は以下の通りです。
Warning: Division by zero in /path/to/file.php on line 6
割り算の前に割る数が0でないかif文などでチェックしましょう。
まとめ
PHPのエラーメッセージは、プログラムの問題を素早く発見し修正するための重要な手段です。
初心者はエラーメッセージを恐れず、その内容をしっかり読み解き、修正に役立てましょう。