我在PHP脚本中遇到致命的"Call to a member function on a non-object"
错误,但我无法准确追踪 发生这种情况或原因。错误消息非常无用,因为它描述的行在99.9%的时间内都有效。
有没有办法可以获得当前的调用堆栈,跟踪在此致命错误之前正在进行的调用,或者做任何其他事情来帮助追踪此错误?
答案 0 :(得分:6)
我建议在开发服务器上安装Xdebug。在这类情况下,这是一个非常有价值的工具。
答案 1 :(得分:0)
在上一行错误中使用此项:
var_dump(debug_trace);
答案 2 :(得分:0)
请查看我的答案以及其他各种可能性
How do I catch a PHP Fatal Error
显然,这在某种意义上是部分相关的,它只能捕获致命的错误。您可以修改该函数以捕获其他类型的错误。起点是:
if($error['type'] == 1){
如果已经设置,此方法将覆盖Xdebug输出。
问候 sakhunzai
答案 3 :(得分:-1)
使用debug_print_backtrace()
- http://us2.php.net/manual/en/function.debug-print-backtrace.php