【发布时间】:2011-04-15 01:44:05
【问题描述】:
直到最近,我的 LAMP 仍按预期工作,并根据文档使用 PHP 的 header() 进行重定向。不知何故,这改变了。问题可以看这里:
<html>
<head>
<title> BLAH </title>
</head>
<body>
<p> TEXT </p>
<?php
echo "BLAH BLAH BLAH";
sleep(10);
header("Location: http://example.com");
?>
</body>
</html>
据我所知,重定向不应该发生 - 但它确实发生了。我尝试回显,添加 HTML,等待避免任何可能的竞争条件,但都无济于事。当我访问此页面时,没有显示任何输出,10 秒后我被重定向。
我不是很幸运地在网上搜索,因为大多数人都有完全相反的问题,我也没有在服务器日志中找到任何有用的东西。我没有进行任何配置更改或包更新。我问的人也很疑惑。
我在 CentOS 虚拟机上运行 PHP 5 和 Apache 2。
P.S.:我在这里的第一个问题,但是阅读这个网站对我有很多帮助,我就是喜欢它:)。
【问题讨论】:
-
似乎启用了输出缓冲。检查你的 php.ini
-
尝试使用
flush()而不是sleep(10)。请注意,Internet Explorer 在收到 1024 个字节后开始呈现。