我用output_buffering = On
创建了一个PHP应用程序。
现在,如果我output_buffering = Off
,那么我会收到以下错误
"Cannot modify header information - headers already sent by ".
如何删除此错误?
如果我使用output_buffering = Off
在实际网站上传应用程序,可能会有什么缺点?
答案 0 :(得分:0)
在任何输出进入浏览器之前发送标题。
header('Foo: bar');
echo "foo";
答案 1 :(得分:0)
如果关闭输出缓冲,则在向客户端发送任何数据(即使用echo
或其他输出函数)后,不允许发送任何其他标题(例如,这包括cookie) )。
您可以使用headers_sent()
检查开始向客户端输出数据的位置。
答案 2 :(得分:0)
确保所有标题('')标记位于脚本顶部,无空格!
EG:
<?php
header('type of header');
?>
如果您真的需要在页面下方进一步操作,可以在脚本顶部调用ob_start()。在脚本的末尾调用ob_end_flush()。
答案 3 :(得分:0)
Q值。 &#34;标题已经发送......&#34;
A.在您自己调用header()之前,您正在输出内容并触发PHP的默认内容类型:text / html标头。有几种方法可以实现,检查杂散回声或打印,标签之前和之后的空格,或者可能是Unicode BOM。考虑使用输出缓冲。使用许多脚本,不需要包含结尾?&gt;并且通过删除结尾容易解决问题?&gt;来自您文件的标记。