如何记录产生错误的调用代码行

时间:2013-04-13 08:59:55

标签: php

我从php脚本收到通知:

  

未定义的偏移量:第74行的C:\ xampp \ htdocs \ WWW \ myfilexyz.php中的32

我想检测错误发生的位置,因为多次调用产生错误的过程。

我添加了以下代码行:

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

查看errorfile.log,该消息出现3次,但该过程被调用超过100次。如何找到产生错误的3行?

我希望有时会看到:

  

“你犯了一个错误,从第234行调用start.php”

2 个答案:

答案 0 :(得分:2)

最简单的方法是使用适当的错误处理程序,为每个错误提供堆栈跟踪。您可以安装xdebug,它会在激活时输出有关错误的更多详细信息。在您使用它时,请查看使用xdebug来连接调试器(阅读xdebug的文档)。

或者编写自己的error handler,使用debug_backtrace为您提供合适的堆栈跟踪。

答案 1 :(得分:-2)

$err = error_get_last();
error_log($err['message'] . ' in ' . $err['file'] . ' on line' . $err['line'], 3, "errorfile.log");