在某些情况下,如果YII_DEBUG=false,YII不会使用我的错误页面
我的Yii错误页面工作正常,但在某些情况下除外。例如,如果我使用在某些情况下,如果YII_DEBUG=false,YII不会使用我的错误页面,yii,yii2,Yii,Yii2,我的Yii错误页面工作正常,但在某些情况下除外。例如,如果我使用 // Using "param" instead of params to cause exception Yii::$app->para['test']; 用我的配置 'errorHandler' => [ 'errorAction' => 'site/error', ], 然后我将YII_DEBUG设置为false 我得到的只是一张白纸,上面写着 发生内部服务器错误 这正常吗?除了某些例外情况,Y
// Using "param" instead of params to cause exception
Yii::$app->para['test'];
用我的配置
'errorHandler' => [
'errorAction' => 'site/error',
],
然后我将YII_DEBUG
设置为false
我得到的只是一张白纸,上面写着
发生内部服务器错误
这正常吗?除了某些例外情况,Yii将只调用die()
或exit()
,而不调用其他详细信息
错误代码:
public function actionError()
{
Yii::$app->session->destroy();
if ($error = Yii::$app->errorHandler->exception) {
if (Yii::$app->request->isAjax)
echo $error->getMessage();
else
return $this->render('error', ['error' => $error]);
}
}
你能展示你的错误动作吗?当然!更新了我的问题!是的,这是预期的行为。Yii2应用程序中不存在
para
属性,因此应用程序抛出编译错误。由于您关闭了调试模式,它假定生产环境
,因此不会直接向用户显示任何敏感信息,而是将错误记录到错误日志文件/数据库中(取决于记录器配置)。