php 报错页面配置,Yii2.0-默认报错页面的配置

Yii 内置了一个yii\web\ErrorHandler错误处理器,它使错误处理更方便, Yii错误处理器做以下工作来提升错误处理效果:

1.所有非致命PHP错误(如,警告,提示)会转换成可获取异常;

2.异常和致命的PHP错误会被显示,在调试模式会显示详细的函数调用栈和源代码行数。

3.支持使用专用的控制器操作来显示错误;

4.支持不同的错误响应格式;

使用指定的错误操作来自定义错误显示更方便, 为此,首先配置errorHandler组件的 yii\web\ErrorHandler::errorAction 属性,类似如下:return [

'components' => [

'errorHandler' => [

'errorAction' => 'site/error',

],

]

];

yii\web\ErrorHandler::errorAction 属性使用路由到一个操作, 上述配置表示不用显示函数调用栈信息的错误会通过执行site/error操作来显示。

可以创建site/error 操作如下所示:namespace app\controllers;

use Yii;

use yii\web\Controller;

class SiteController extends Controller{

public function actions()

{

return [

'error' => [

'class' => 'yii\web\ErrorAction',

],

];

}

}

上述代码定义error 操作使用yii\web\ErrorAction 类,该类渲染名为error视图来显示错误。

除了使用yii\web\ErrorAction, 可定义error 操作使用类似如下的操作方法:public function actionError(){

$exception = Yii::$app->errorHandler->exception;

if ($exception !== null) {

return $this->render('error', ['exception' => $exception]);

}

}

在views层会有一个错误渲染的页面site/error.php<?php

use yii\helpers\Html;

$this->title = $name;

?>

= Html::encode($this->title) ?>

= nl2br(Html::encode($message)) ?>

The above error occurred while the Web server was processing your request.

Please contact us if you think this is a server error. Thank you.

如果想改变默认的错误显示样式,就在这个修改这个页面来实现。

默认错误显示如下图所示:

ba0574e85b4501c21a56876f29296300.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值