可能重复:
Warning: Cannot modify header information - headers already sent
你是否已经发过PHP的标题已发送,即使你已经向浏览器显示内容了?
。概念证明。
test.php的
<?php
echo "header is trolling";
header('Location: http://google.com');
?>
加载test.php后的截图 http://i51.tinypic.com/2gvj6gi.png
它显示最初未找到的对象(我在随机页面上) 我正在尝试捕获“从Google传输数据”,但它加载得如此之快lol
如果您要求我的phpinfo,请告诉我要发布的部分:)
只是为了CLARIFY我没有收到'标题已经发送'错误我知道如何处理它。我实际上是在期待这个错误,但它没有出现
答案 0 :(得分:2)
标题会立即发送,就像在发送任何实际文档正文之前一样。 通过回应,你说:
嘿,我已经完成了所有标题的添加,让我们转到文档内容!所以开始向用户发送标题!
那么当你尝试添加一个标题时,你不能,因为你已经发送了它们
echo "header is trolling";
这不是一些错误,这是完全正常的。想一想..你必须首先发送标题,因为,如果你正在压缩你的文件会发生什么?如果没有先发送标题,怎么可能告诉客户端。
答案 1 :(得分:1)
您应缓冲页面内容,以防止在发送标头之前发送该内容。 doc页面上的一个示例:
答案 2 :(得分:0)
<?php
ob_start();
echo "header is trolling";
ob_clean();
header('Location: http://google.com');
?>