PHP 标头不起作用


PHP headers not working

可能的重复项:
PHP 已发送的标头

"无法修改标头信息 - 标头已发送"

自从将我的MacBook Pro更新到OS X Mountain Lion以来,我的本地主机网站一直出现故障。

我的大多数(如果不是全部)header("Location: ./xxx.php");重定向都没有工作。他们在 Lion 中工作,所以我假设 Mountain Lion 是造成这种情况的原因,而不是我的代码。如果我关闭内置服务器并启用/使用 MAMP,也会发生此错误。

这让我相信这是山狮作为一个整体对待标题的问题。如果这个错误实际上是我的代码,那么为什么它会在 Lion 中工作?如果是这种情况,我会假设Mountain Lion以更严格的方式读取PHP代码。此外,我做了一个简单的测试.php脚本,带有标题重定向,以查看标头是否通常不起作用。事实证明,当我在 Safari 中打开它时,该脚本重定向了我,没有任何问题。这个错误对我来说似乎很奇怪,我想要一些反馈。谢谢。

Cannot modify header information - headers already sent表示您正在尝试在数据已经发送时发送标头。这是不可能的。

如果需要调试应用程序,请将header('Location: ...)替换为简单的exit;并检查是否有任何输出。搜索任何echoprint ...在您header()通话之前。