-2

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

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

自从将我的 MacBook Pro 更新到 OS X Mountain Lion 后,我的 localhost 网站一直出现故障。

我的大部分(如果不是全部)header("Location: ./xxx.php");重定向都不起作用。他们在 Lion 工作,所以我假设 Mountain Lion 是导致此问题的原因,而不是我的代码。如果我关闭内置服务器并启用/使用 MAMP,也会发生错误。

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

4

1 回答 1

2

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

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

于 2012-08-08T19:48:12.790 回答