一些PHP错误/通知不显示Slim Framework中的调用堆栈信息

时间:2013-07-16 01:46:27

标签: error-handling php slim

我正在使用Slim Framework

我的应用程序中的大多数PHP错误都会输出正常的PHP错误消息

输出调用堆栈错误的示例代码:

echo 'missing semicolon at eol'

错误输出:

Parse error: syntax error, unexpected T_IF, expecting ',' or ';' in /data/www/app/routes/companies_routes.php on line 737
Call Stack:
    0.0002     637144   1. {main}() /data/www/html/index.php:0

但是其他错误(可能只是通知)输出的有限消息没有行号,文件名或调用堆栈。这使得调试这些错误非常耗时。

包含输出有限错误消息的错误的代码

echo $an_undefined_variable;

有限信息

Undefined variable: an_undefined_variable

我无法弄清楚发生了什么。我以前从未遇到过这个问题。我怀疑它与Slim处理PHP错误的方式有关。我尝试在Try / Catch块中包装这些错误,但这并没有解决问题。

1 个答案:

答案 0 :(得分:0)

问题是Slim本身正在处理异常(我还没有找到某种默认行为)。

我的代码包含在Try / Catch块中,所以当Slim捕获PHP错误时,它会抛出它自己的Exception,然后我在Catch块中输出。如果我删除了我的Catch块,Slim它们会像往常一样输出它自己的包含堆栈的完整错误消息。

这肯定意味着我没有使用Slim,但这是一个不同的问题。