在Yii中捕获PHP警告

在Yii中捕获PHP警告,php,yii,error-handling,Php,Yii,Error Handling,当在Yii中抛出一个PHP错误时,您会得到一个带有堆栈跟踪的PHP警告页面 是否可以显示此页面的我自己的版本。我以为这包含在errorHandler中,但我所做的任何更改都不会影响错误页面 由于我们的系统在测试版之外有了一个重要的更新,额外的更新很快就会到来,我想给我们的用户提供大量的相关帖子数据,这样他们就不会完全失去工作。(他们添加的数据是通过电话获得的,所以目前他们唯一的选择就是收听他们的电话对话,这并不是很有效 任何想法都欢迎 编辑:我已尝试使用Yii errorHandler,但我所做

当在Yii中抛出一个PHP错误时,您会得到一个带有堆栈跟踪的PHP警告页面

是否可以显示此页面的我自己的版本。我以为这包含在errorHandler中,但我所做的任何更改都不会影响错误页面

由于我们的系统在测试版之外有了一个重要的更新,额外的更新很快就会到来,我想给我们的用户提供大量的相关帖子数据,这样他们就不会完全失去工作。(他们添加的数据是通过电话获得的,所以目前他们唯一的选择就是收听他们的电话对话,这并不是很有效

任何想法都欢迎

编辑:我已尝试使用Yii errorHandler,但我所做的一切似乎都不会改变结果。我将添加代码:

主配置

站点控制器


错误视图目前只支持html,但我仍然总是得到带有堆栈跟踪的错误页面,我发现我的问题在于此

您需要从index.php中删除以下行:

// remove the following lines when in production mode
defined('YII_DEBUG') or define('YII_DEBUG',true);
// specify how many levels of call stack should be shown in each log message
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);

您是否尝试过使用标准的错误处理方法-?您应该简单地记录这些错误。Yii有一个方便的日志记录功能。
if($error=Yii::app()->errorHandler->error)
{
    $this->render('error', $error);
}
// remove the following lines when in production mode
defined('YII_DEBUG') or define('YII_DEBUG',true);
// specify how many levels of call stack should be shown in each log message
defined('YII_TRACE_LEVEL') or define('YII_TRACE_LEVEL',3);