PHP标头已发送[重复]

qmelpv7a  于 12个月前  发布在  PHP
关注(0)|答案(4)|浏览(141)

此问题已在此处有答案

How to fix "Headers already sent" error in PHP(16个回答)
三年前就关门了。
获取以下错误:

"Warning: Cannot modify header information - headers already sent by (output started at..."

对于以下行:

echo '<center>Current Time is '. gmdate("H:i A") . ' GMT (Greenwich Mean Time or UTC)<br />';

如果我把它注解掉,它只会在下一个echo语句中抛出错误。为什么PHP如此讨厌我的echo语句?
下面是HTML底部的包含:

<div id="saveCanForm" width="100%">
<?php include('savereport.php'); ?>
</div>
8cdiaqws

8cdiaqws1#

问题不在于echo语句。看起来你在文件后面的某个地方有一个header调用,但是一旦你输出任何文本,你就不能发送头。您可以将标题移动到脚本的开头,或者使用输出缓冲。

bd1hkmkf

bd1hkmkf2#

因为我们的echo s在之前到达,所以您发送的头是不允许的。确保header位于任何输出之前。
如果你不想重新排列,你也可以使用输出缓冲。

ycl3bljg

ycl3bljg3#

头文件是在有任何其他输出之前处理的,所以如果你写了一些东西,PHP就不能正确地发送头文件。在你的代码中的某些地方,你给出了HEAD指令,因此失败了。(这是技术原因,如重定向等)

a1o7rhls

a1o7rhls4#

问题不在于回声。它很可能是由您包含在.php文件中的文件引起的。你有没有在任何文件?这可能会在顶部。如果你的included file语句不在文件的顶部,请确保它是。

相关问题