我从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”
答案 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");