質問
私は PHP 4 を使用していますが、エラーを発生させてすべてを停止する唯一の方法は、die() を呼び出すことです。ただし、後でエラーに遭遇し、その原因を覚えていない場合に備えて、die() が発生したページと行番号を指定したいと思います(他の PHP エラーと同様)。これを行う方法はありますか?
ありがとう!
解決
あなたは魔法の定数rel="noreferrer">のに
echo __LINE__; // Line number
また、エラーを送信するためにのerror_log()に実行することができます静かログへ。
他のヒント
私はあなたにでtrigger_error()に使うべきだと思いますE_USER_ERRORまたはE_USER_WARNINGを生成します。これは、あなたが詳細に動作を制御することができます。たとえば、あなたがメッセージをのerror_reporting()に使用して、すべてに表示するかどうかを指定したり、E_USER_WARNINGを扱うことができます:はset_error_handler()を使用して明示的にね。
最も簡単な方法は、使用することです。
echo __FILE__ . ": line " . __LINE__;
die();
あなたがPHP5を使用した場合、、あなたはまた、例外を使用することができます:
throw new Exception("My error message!");
全体コールスタックと、このラインを明らかにするスタックトレースがオンにスローされました。
(EDIT:例外はPHP5までPHPに追加されなかったことを私に通知する[@ジョンアイザックス]と[@Emil H]のおかげで)
@Jukka DahlbomへとオラフルWaageの提案@加えて、あなたはまた、 debug_backtrace()
の使用を検討してください。
より良い使い方 error_log()
エラーを報告し、 debug_backtrace()
デバッグ用。独自のエラー処理関数を作成することもできます (「 set_error_handler()
) 両方を組み合わせます。