CakePHP(2.5.1)奇怪的ErrorHandler/无限循环

CakePHP(2.5.1)奇怪的ErrorHandler/无限循环,php,cakephp,Php,Cakephp,它不仅在2.5.1中,而且在2.7中,在/lib/Cake/Error/ErrorHandler.php中 handleException调用trigger\u error当$error->render()抛出异常时,调用error.handleError=handleError handleError调用handleFatalError当$code=E\u USER\u ERROR时 handleFatalError调用$exceptionHandler,它是Exception.handler

它不仅在2.5.1中,而且在2.7中,在/lib/Cake/Error/ErrorHandler.php中

handleException
调用
trigger\u error
$error->render()抛出异常时,调用
error.handleError=handleError

handleError
调用
handleFatalError
$code=E\u USER\u ERROR

handleFatalError
调用
$exceptionHandler
,它是
Exception.handler=handleException

这些函数调用似乎在某种情况下形成了一个无限循环,我们在项目代码中遇到了这种情况。这是正确的行为吗?或者是否存在任何误解点(例如可以证明无限循环的合理性)


谢谢。

哦,我发现一条消息“应该使用配置的ErrorHandler”。配置默认设置是正确的解决方案吗?但奇怪的是,默认设置不起作用…:(在我的例子中,为什么
$error->render()
抛出异常可能是HtmlHelper.php中的一个错误。我不知道为什么在我们的原始源代码中编辑了这个异常,但我确信在
$error->render()
中抛出异常会产生无限循环。哦,我发现一条消息“应该使用配置的ErrorHandler”。配置默认设置是一个正确的解决方案吗?但奇怪的是默认设置不起作用…:(在我的例子中,为什么
$error->render()
抛出异常可能是HtmlHelper.php中的一个错误。我不知道为什么在我们的源代码中从原始版本编辑了它,但我确信在
$error->render()中抛出异常)
生成一个无限循环。