【发布时间】:2011-04-09 09:30:19
【问题描述】:
我正在使用 PHP 编写一个大型(继承的)代码库,并且错误 Exception thrown without a stack frame in Unknown on line 0 已开始出现在每个页面的底部。我理解错误的含义:在无法抛出的地方抛出异常。我什至设法追查到它——它发生在调用关闭函数的时间。
我已经记录了在register_shutdown_function 注册的所有功能,但这些功能都没有发生。不幸的是,我似乎无法获得更多信息。我知道最后一次成功调用的关闭函数是什么,但我不知道在该函数和错误发生点之间执行了什么代码。我什至不知道 PHP 机器的哪个部分正在调用最后一个关闭函数。它可能与日志框架、会话框架或六种事物有关。
有谁知道如何查明错误发生的位置?
【问题讨论】:
-
继承的代码是否使用了 set_error_handler() 或 set_exception_handler() 函数?
-
我不这么认为。对该函数的唯一引用是在 Zend 框架中的文档字符串中。
-
PHP 5.3.6 修复了这个问题让我们说“有点”。详情请见php.net/archive/2011.php#id2011-03-17-1。
标签: php