Php Yii框架:仅在apache日志中写入错误

Php Yii框架:仅在apache日志中写入错误,php,exception,yii,Php,Exception,Yii,我想将关于/protected/runtime目录的r/w权限的错误写入apache错误日志,并且不向接口抛出任何异常。我应该做什么来解决我的“问题” 谢谢你,对不起我的英语 通过使用以下方法解决了此问题: error_log($message); 当脚本试图检查运行时文件夹或运行文件内容函数时,删除CException调用当调试关闭时,yii使用(默认情况下)站点/错误视图显示此错误时,只需将其更改为不显示消息文本并显示一般性内容(例如,如果代码==500,则显示“内部错误”) 如果您想

我想将关于/protected/runtime目录的r/w权限的错误写入apache错误日志,并且不向接口抛出任何异常。我应该做什么来解决我的“问题”

谢谢你,对不起我的英语


通过使用以下方法解决了此问题:

error_log($message);

当脚本试图检查运行时文件夹或运行文件内容函数时,删除CException调用当调试关闭时,yii使用(默认情况下)站点/错误视图显示此错误时,只需将其更改为不显示消息文本并显示一般性内容(例如,如果代码==500,则显示“内部错误”)


如果您想在apache日志中出现错误,我只看到一种不干净的方式,不管怎样,它刚刚经过测试,可以正常工作。在php.ini中设置
display_errors=Off
log_errors=On
,然后将处理yii中错误的操作更改为还原默认处理程序并再次引发错误-这将导致apache日志中的日志记录和浏览器中的空白屏幕,例如:

public function actionError() {
    if (($error=Yii::app()->errorHandler->error)) {
        if (strpos($error['message'], 'runtime') !== false) {
            restore_error_handler();
            restore_exception_handler();
            user_error("Problem with runtime: " . $error['message'], E_USER_ERROR);
            exit();
        }
        if(Yii::app()->request->isAjaxRequest) {
            echo $error['message'];
        } else {
            $this->render('error', $error);
        }
    }
}

在apacheerror.log中显示php错误不是问题,问题是当对运行时目录的权限被拒绝时写入错误。此值已存在于我的php.ini中-无结果。当我将chmod 0666设置为runtime dir时,接口中出现错误,apache error.log中没有任何内容