error_reporting(-1);
echo "test";
header("Location: http://www.google.com/");
会将我重定向到谷歌而不会出现任何错误。这有什么问题(mybe my apache config?dunno ......)。它也适用于cookies等。
我正在使用IE9(也使用Opera测试)和Apache / 2.2.21。
问亚历克斯
答案 0 :(得分:1)
感谢Will&的帖子pieman它发现有一个std输出缓冲区,我无法禁用或偏置。为了解决这个“问题”我放了一个
ob_end_clean();
我的index.php的第一行中的语句。我的原始测试代码失败的原因(我期望)。它确实不好但有必要。如果你们中的任何人都能提供“更好”的解决方案,我将不胜感激。
问亚历克斯
答案 1 :(得分:0)
根据Will和Ganesh的评论,您还可以尝试ob_get_status()
查看在echo
调用时是否打开了任何输出缓冲区。如果这样做,那么您的echo
将被转储到缓冲区中,并且不会立即发送到客户端。然后仍然可以调用header()
而没有错误,因为没有内容被发送。
答案 2 :(得分:-1)
由于PHP INI设置,您的数据在输出之前会被缓冲。这就是为什么它成功地重定向到下一页