【发布时间】:2011-12-08 18:00:47
【问题描述】:
我有经典的 Symphony flash 消息实现:
$_SESSION['flash'] = "This is a flash message";
header('location: index.php');
它在两台不同的服务器上运行良好,但在第三台服务器(托管服务器、LAMP 堆栈)上出现奇怪的行为,我不详细了解其中的配置。 在第三台服务器上,脚本执行首先会发出警告 - 标头已经发送......(但我没有输出任何内容,在其他服务器上它可以工作) - 然后如果我再次触发重定向事件,a超链接,它将我带入 index.php 文件并呈现消息。我知道如何通过使用 JavaScript 重定向使其“可移植”,但我想知道这种行为的原因是什么。我怀疑 PHP 或 Apache 模块的服务器配置。 谢谢你的手!
【问题讨论】:
-
这真的和摘录的代码没什么关系。在第三台服务器上运行的代码的某些部分是不同的。查看它声明标头已发送的位置,它应该给你一个行号。
-
究竟这两行上面写的是什么?
-
那么在将脚本放到新服务器之前,您对文件做了哪些更改?您能否向我们展示您在问题中输入的代码块之前的代码?
-
Headers already sent by PHP 的可能重复项
-
@all above: 伙计们,为了简化,你看到的代码在 之间。正如我所提到的,我以前不发送任何东西。三台服务器上的代码相同,所以这不是编程问题。
标签: php function header location