Yii 即使在调试模式下也显示标准错误

Yii displays standard error even in debug mode

我的 CGridView 有一个错误。其中一列尝试从非对象读取 属性。就在渲染此网格视图的行之前(即 <?php $this->widget('GridView', array ( 上方)我放置了以下代码:

<?php
    echo 'YII_DEBUG = '.print_r(YII_DEBUG, TRUE);
    var_dump(YII_DEBUG);
    echo 'YII_TRACE_LEVEL = '.print_r(YII_TRACE_LEVEL, TRUE);
    var_dump(YII_TRACE_LEVEL);
    die();
?>

它给了我以下结果:

YII_DEBUG = 1
bool(true)
YII_TRACE_LEVEL = 3
int(3)

然而,当我删除或注释掉这段代码时,紧接着的下一行(发生错误的地方)不会导致 Yii 呈现关于错误的典型的、完整的堆栈调试信息(包括文件、行和堆栈跟踪) .相反,我看到一条单行错误消息,用 site/error 视图呈现,正如我应该看到的那样,当调试实际上被关闭时(但它不是):

几个月来我一直在努力解决这个问题,但我不知道是什么导致 Yii 忽略调试设置并在没有调试堆栈跟踪的情况下显示错误,即使在启用调试模式时也是如此。

任何人都可以在这里提供帮助,至少提供一些提示,我应该从哪里开始寻找?

这是设计使然,因为 recent change in Yii 1.1.16。需要放一个:

'errorHandler'=>array(
    'errorAction' => YII_DEBUG ? null : 'site/error',
),

到应用程序的配置数组,在 1.1.16 中具有与 Yii 早期版本相同的行为——即当 YII_DEBUG 设置为 [=12= 时,始终呈现全栈错误].