我想将有关/ protected / runtime目录的r / w权限的错误写入apache错误日志,不要在接口中抛出任何异常。我该怎么做才能解决我的“问题”?
谢谢你,对不起我的英语!
使用以下方法解决了问题:
error_log($message);
并在脚本尝试检查运行时文件夹或运行file_put_contents函数时删除CException调用
答案 0 :(得分:0)
当调试关闭时,yii正在使用(默认情况下)站点/错误视图显示此错误,只需将其更改为不显示消息文本并显示通用内容(如果代码== 500则显示“内部错误”)
如果你想在apache日志中出错,我只会看到一些不洁净的方式,无论如何只是经过测试而且有效。在php.ini中设置display_errors = Off
和log_errors = On
然后更改处理来自yii的错误的操作以恢复默认处理程序并再次出现错误 - 它应该导致apache日志中的日志记录和浏览器中的空白屏幕,ex :
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);
}
}
}