エラーメッセージ

エラーメッセージ

 状態:  閲覧数:6,802  投稿日:2010-04-27  更新日:  
■エラーメッセージの構成
PHPが出すエラーメッセージは、3つの要素で構成されている

Parse error: syntax error, unexpected ';' in /***/***.php on line ***
|エラーレベル| メッセージ | ファイルのパスと行番号 |

▼1.「エラーレベル」
エラーの性質(重要度)を示す。構文が間違っている、実行不可能な致命的なものである等。

▼2.「メッセージ」
問題の要素やエラーの性質を補足。原因を特定するために利用する。エラーを発生させたモジュール名やPHPのトークン(これ以上に分解することのできない最小単語)を表示。

▼3.「ファイルのパスと行番号」
エラーの発生個所を示す。あくまでもエラー発生位置を示していて、問題箇所と必ずしも一致するわけではない(エラー原因となる箇所と、エラー発生する箇所は違う場合もある、という意)。この行を基準に、それ以前で原因を探す、ことも多い。

▼1.「エラーレベル」
▽Parse error:
PHPの構文から外れスクリプトとして成り立っていないことを示すエラー。構文が間違っているため、このメッセージが表示されている限り、スクリプトが実行されることはない。
対応するカッコや " がない、変数頭の "$" や文末の ";" 忘れ、演算子の評価順序違いなど、ほとんどが単純な記述ミスや勘違いによるもの。

▽Fatal error:
実行時に出るエラーで、これ以降の処理が実行できないほどの「致命的エラー」を表している。このエラーが発生するとそこで強制終了される。

▽Warning:
実行時に出るエラーで、以降の処理に影響を与える可能性がある「警告」。Warning が発生しても処理は続けられるが、これ以降も関連してエラーが出る可能性が高いので、いくつも発生する場合は初めの Warning から解決することが望ましい。

▽Notice:
プログラムの実行には影響ないけれど、これはこれでいいのかな? 程度の PHP からの「通知」。Notice が発生しても処理継続可能。バグの原因になったりセキュリティホールを生む可能性もあるため、Notice も ゼロになるようなコードを書くことが望ましい。
なお、PHPのデフォルトでは、error_reporting = E_ALL & ~E_NOTICE (Notice以外のエラーを表示)が設定されているため、Notice が表示されることはない。php.ini か error_reporting関数で E_ALL を指定すると全てのエラーメッセージが表示されるようになるので、開発段階ではすべて表示するよう設定することが望ましい。


▼2011.6.6.追記
// 全ての PHP エラーを表示させる
error_reporting(-1);

□使用例:連想配列をunset();後、var_dumpして、下記エラーを確認したかった際、利用
Notice: Undefined index:

□下記でもO.K.
error_reporting(E_ALL); //エラー出力のレベルを設定→すべてのエラー
ini_set("display_errors", "On"); //画面上にエラー出力を表示

□下記だけだと、NG。画面に表示されないので
error_reporting(E_ALL); //エラー出力のレベルを設定→すべてのエラー



syntax error

コメント投稿(ログインが必要)



週間人気ページランキング / 4-19 → 4-25
順位 ページタイトル抜粋 アクセス数
1 Parse error: syntax error, unexpected 'public' (T_PUBLIC) | Parse error(エラーメッセージ) 16
2 ブラウザを閉じたらセッションデータはどうなるの? | セッション 11
3 PHPで定数を定義する方法は2種類ある / 配列定数の定義 7
4 コード例 … 「例外処理」はネストすることができる 6
4 curl で Cookie を使用する 6
5 Warning: strlen() expects parameter 1 to be string, array given in ○○.php on line △△ | Warning(エラーメッセージ) 5
6 ブラウザを閉じたらセッションデータはどうなるの? | セッション 4
6 Fatal error: Access level to ▲::$△ must be protected (as in class ●) or weaker | Fatal error(エラーメッセージ) 4
7 Fatal error: Call to undefined method MDB2_Error::execute() in ○○ on line △△ | Fatal error(エラーメッセージ) 3
7 Fatal error: Uncaught Error: Class 'Mecab_Tagger' not found in /var/www/★★.php:☆☆ | Fatal error(エラーメッセージ) 3
7 Warning: include() [function.include]: Failed opening '**.php' for inclusion (in | Warning(エラーメッセージ) 3
7 型の種類 | 型 3
7 or(||) | 演算子 3
7 セッション名 | セッション 3
7 セッション管理が必要な理由は、HTTPプロトコルには状態を保持する機能がないため | セッション 3
7 ( ! ) Fatal error: Uncaught PDOException: SQLSTATE[HY093]: Invalid parameter number: parameter was not defined | Fatal error(エラーメッセージ) 3
7 Composer | 依存関係マネージャ 3
8 Cookie / Cookieとは? / Cookie仕様 2
8 セッションCookie | クッキー 2
8 Fatal error: Uncaught Wrench\Exception\HandshakeException: No accept header receieved on handshake response in ★★★ headless-chromium-php/vendor/wrench/wrench/lib/Wrench/Protocol/Protocol.php | エラーメッセージ 2
2024/4/26 1:02 更新