HeadersAlreadySentException:标头已发送错误[重复]

问题描述 投票:0回答:1

我遇到一个问题,我的 Yii2 项目在托管时出现以下错误。在本地运行良好。

Fatal error: Uncaught yii\web\HeadersAlreadySentException: 
Headers already sent in/home8/nakkadka/public_html/amirulaina/vendor/yiisoft/yii2/web/View.php on line 191.
in /home8/nakkadka/public_html/amirulaina/vendor/yiisoft/yii2/web/Response.php:369 
Stack trace: 
#0 /home8/nakkadka/public_html/amirulaina/vendor/yiisoft/yii2/web/Response.php(342): yii\web\Response->sendHeaders() 
#1 /home8/nakkadka/public_html/amirulaina/vendor/yiisoft/yii2/web/ErrorHandler.php(136): yii\web\Response->send() 
#2 /home8/nakkadka/public_html/amirulaina/vendor/yiisoft/yii2/base/ErrorHandler.php(323): yii\web\ErrorHandler->renderException(Object(yii\base\ErrorException)) 
#3 [internal function]: yii\base\ErrorHandler->handleFatalError() 
#4 {main} thrown in /home8/nakkadka/public_html/amirulaina/vendor/yiisoft/yii2/web/Response.php
on line 369

我尝试了一些找到的解决方案,例如下面的示例,但我仍然遇到这个错误。一个奇怪的行为是,当我重新加载页面时,它就消失了,一旦再次重新加载,它就在那里。所以它会在出现特定错误和消失之间来回切换。我查找了这个错误,发现两个最常讨论的解决方案是控制器中没有“echo”,或者确保 php 开始标记之前或 php 结束标记之后没有空白。我已经对我的所有文件执行了这两项操作,包括仔细检查它们并且它仍然发生。任何见解将不胜感激。因为我现在不确定在哪里重新启动调试

示例1 示例2 示例3

php yii yii2 yii2-advanced-app response-headers
1个回答
0
投票

在完成任何浏览器输出之前必须修改标头。

这是一个常见问题。发生这种情况是因为我们已经有一个 echo 或 print 语句或任何发送到浏览器的 html 输出。

请参考这个答案

https://stackoverflow.com/a/8028987/8135271

© www.soinside.com 2019 - 2024. All rights reserved.