2018-10-15 23:35:18 4386次浏览 1条回答 0 悬赏 100 金钱
An Error occurred while handling another error:
yii\web\HeadersAlreadySentException: Headers already sent in D:\Visual-NMP-x64\www\aihuijiaMiniProgram\vendor\yiisoft\yii2\web\View.php on line 181. in D:\Visual-NMP-x64\www\aihuijiaMiniProgram\vendor\yiisoft\yii2\web\Response.php:366
Stack trace:
#0 D:\Visual-NMP-x64\www\aihuijiaMiniProgram\vendor\yiisoft\yii2\web\Response.php(339): yii\web\Response->sendHeaders()
#1 D:\Visual-NMP-x64\www\aihuijiaMiniProgram\vendor\yiisoft\yii2\web\ErrorHandler.php(135): yii\web\Response->send()
#2 D:\Visual-NMP-x64\www\aihuijiaMiniProgram\vendor\yiisoft\yii2\base\ErrorHandler.php(111): yii\web\ErrorHandler->renderException(Object(yii\web\HeadersAlreadySentException))
#3 [internal function]: yii\base\ErrorHandler->handleException(Object(yii\web\HeadersAlreadySentException))
#4 {main}
Previous exception:
yii\web\HeadersAlreadySentException: Headers already sent in D:\Visual-NMP-x64\www\aihuijiaMiniProgram\vendor\yiisoft\yii2\web\View.php on line 181. in D:\Visual-NMP-x64\www\aihuijiaMiniProgram\vendor\yiisoft\yii2\web\Response.php:366
Stack trace:
#0 D:\Visual-NMP-x64\www\aihuijiaMiniProgram\vendor\yiisoft\yii2\web\Response.php(339): yii\web\Response->sendHeaders()
#1 D:\Visual-NMP-x64\www\aihuijiaMiniProgram\vendor\yiisoft\yii2\base\Application.php(392): yii\web\Response->send()
#2 D:\Visual-NMP-x64\www\aihuijiaMiniProgram\backend\web\index.php(17): yii\base\Application->run()
#3 {main}

最佳答案

  • 刘师傅 发布于 2018-10-16 10:07 举报

    估计你最近升级了版本吧,因为2.0.14版本增加了一个异常类:HeadersAlreadySentException
    这个类在 yii\web\Response::sendHeaders() 方法里

    if (headers_sent($file,$line)) {
        throw new HeadersAlreadySentException($file,$line);
    }
    

    之前如果有提前输出内容的地方,你可以直接 exit() 就可以了。

    4 条回复
    回复于 2018-10-16 10:58 回复

    现在是 2.15.1 另一个项目 也是2.15.1版本 就不存在这个问题

    回复于 2018-10-16 11:02 回复

    你看下现在的项目里有上述那个代码吗?

    回复于 2018-10-16 14:32 回复
     protected function sendHeaders()
        {
            if (headers_sent($file, $line)) {
                exit;
                throw new HeadersAlreadySentException($file, $line);
            }
    }
    

    现在这样处理是可以的。

    回复于 2019-05-09 11:26 回复

    非常感谢!

    觉得很赞
    没有找到数据。
您需要登录后才可以回答。登录 | 立即注册
小叮当的肚兜
副董事长

小叮当的肚兜

注册时间:2016-10-31
最后登录:6小时前
在线时长:97小时45分
  • 粉丝13
  • 金钱44030
  • 威望270
  • 积分47700

热门问题