PHP头已经发送了吗?

PHP头已经发送了吗?,php,header,Php,Header,可能重复: 即使您已经向浏览器显示了内容,您是否也遇到过已经发送的PHP标题 .概念证明 test.php <?php echo "header is trolling"; header('Location: http://google.com'); ?> 加载test.php后的屏幕截图 它显示最初未找到的对象(我在随机页面上) 我试图捕捉“从谷歌传输数据”,但它加载得太快了lol 如果你想要我的phpinfo,请告诉我该发布哪个部分:) 为了澄清我没有收到“已发送

可能重复:

即使您已经向浏览器显示了内容,您是否也遇到过已经发送的PHP标题

.概念证明

test.php

<?php 
 echo "header is trolling";
 header('Location: http://google.com');
?>

加载test.php后的屏幕截图

它显示最初未找到的对象(我在随机页面上) 我试图捕捉“从谷歌传输数据”,但它加载得太快了lol

如果你想要我的phpinfo,请告诉我该发布哪个部分:)


为了澄清我没有收到“已发送邮件头”错误,我知道如何处理。事实上,我希望出现该错误,但它没有出现。

在发送标题之前,您应该缓冲页面内容以防止其被发送。文档页面上的一个示例:


标题会立即发送,就像在发送任何实际文档正文之前一样。 通过回应,你是在说:

嘿,我已经添加完所有标题,让我们转到文档内容!因此,开始向用户发送标题吧

因此,当您尝试添加标题时,您不能这样做,因为您在添加标题时已经发送了标题

echo "header is trolling";
这不是什么错误,这是完全正常的。想想看。。您必须首先发送标题,因为如果您正在gzip文档,会发生什么?如果不先发送头,您怎么可能告诉客户机这一点呢


<?php 
 ob_start();
 echo "header is trolling";
 ob_clean();
 header('Location: http://google.com');

?>

我不知道你在问什么,你能澄清一下吗?我在问是否只有我一个人经历过这种情况。我在朋友的电脑上试过了,但上面说好像没人明白你的问题。我希望他们再读一遍。如果只是在某个地方解释了这个错误消息,比如在手册中,我真的希望标题已经在这里发送了错误。但它“奇迹般地”重定向了,所以你的意思是即使我把回声放在了标题上方。标题(位置…)首先发送?不,我的意思是它不能发送,因为所有标题都已发送。有很多标题。。内容类型等。。客户需要了解什么样的文档类型。在服务器输出任何内容之前,必须发送所有这些头。哪怕只有一个空格。@Layke再次读了一遍这个问题,当你第一次问这个问题时,我还不清楚。。。只有在编辑之后才清楚。我不需要那个。它甚至没有说我已经不需要了。它甚至没有说已经发送了头:)