Yii2自定义报错信息页面

Yii原始的调试模式会看到很多我们代码里的信息
这些信息暴露在外边相当于我们的网站正在裸奔
如何自定义开发信息

1、配置/config/web.php

'errorHandler' => [
    // 'errorAction' => 'site/error',
    // 'maxSourceLines' => 2 //原报错页面基础上只显示2行错误信息
    'class' => 'app\components\ErrorHandler',//我们自定义的报错信息
],

2、自己写ErrorHandler.php文件

新建文件夹components并在该文件夹下新建ErrorHandler.php文件

<?php
 
namespace app\components;
 
class ErrorHandler extends \yii\base\ErrorHandler
{
    /**
     * Renders the exception.
     * @param \Exception $exception the exception to be rendered.
     */
    protected function renderException($exception)
    {
        $title = $exception->getMessage();
        $message = $exception->getFile().":".$exception->getLine();
        $code = $exception->getCode();
        $data = [
            'title' => $title,
            'message' => $message,
            'code' => $code
        ];
        if (YII_DEBUG) {//调试模式下显示错误信息
            echo '<p style="text-align:center">'.$title.'</p>';//错误原因
            echo '<p>'.$message.'</p>';//错误所在地方
            echo '<p>'.$code.'</p>';//错误码
        }
        //生产环境下仅显示一下文字
        echo "<h1 style='text-align:center'>服务器出错了😥</h1>";
        echo "<h2 style='text-align:center'>稍等一下 程序员正火速赶来~~❤️❤️</h2><br>";
        echo "<img src='/img/bug_bug.jpg' style='margin-left:35%;width:30%'>";

        if (YII_DEBUG) {//调试模式下显示错误信息
            \Yii::$app->end();
        }
    }
}

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章