[英]Why is there no 'headers already sent' error?
我写了这段代码,应该会导致错误,但是没有错误显示!
<?php
error_reporting(-1);
echo "s";
header("Location: /index2.php");
?>
因为header()
在echo
,所以PHP应该错误地指出已经发送的标头 。 但没有错误显示,并且页面成功重定向到index2.php
!
如何查看错误? 为什么进行重定向?
检查是否已激活输出缓冲 。
它与ob_start相同,但是是隐式的。
真的,我第一次看到真正想要查看标题已发送错误的人。 通常让我感到不适的事情。 因为我通过使用ob_start()和ob_flush解决了问题,所以我认为在您的情况下,服务器正在为您解决缓冲区问题。
尝试使用PHP ob_end_flush()关闭缓冲区。 或阅读以下内容: https : //stackoverflow.com/a/6386034/827224
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.