0

私のphpスクリプトから通知を受け取ります:

未定義のオフセット: C:\xampp\htdocs\WWW\myfilexyz.php の 32 行 74

エラーが発生するプロシージャが何度も呼び出されるため、どこでエラーが発生したかを検出したい。

次のコード行を追加しました。

error_log("you made a mistake", 3, "errorfile.log");   

errorfile.log を調べると、メッセージは 3 回表示されますが、プロシージャは 100 回以上呼び出されます。エラーが発生している 3 行を見つけるにはどうすればよいですか?

私はいつか次のように見たいです:

「あなたは間違いを犯しました。start.php の 234 行目から呼び出されました」

4

2 に答える 2

2

最も簡単な方法は、各エラーのスタック トレースを提供する適切なエラー ハンドラを使用することです。xdebugをインストールすると、アクティブ化されたときにエラーに関するより多くの詳細が出力されます。その間、xdebug を使用してデバッガーを接続する方法を調べてください (xdebug のドキュメントを読んでください)。

または、まともなスタックトレースを提供するために使用する独自のエラーハンドラーを作成します。debug_backtrace

于 2013-04-13T09:05:02.273 に答える
-2
$err = error_get_last();
error_log($err['message'] . ' in ' . $err['file'] . ' on line' . $err['line'], 3, "errorfile.log");
于 2013-04-13T09:06:48.957 に答える