代码之家  ›  专栏  ›  技术社区  ›  Victor Bjelkholm

警告:无法修改标题信息。找不到错误[重复]

php
  •  0
  • Victor Bjelkholm  · 技术社区  · 15 年前

    这个问题已经有了答案:

    我使用的是一个登录脚本,在我的development机器上它运行得很好,但是当我把它移到webhost上时,它就停止工作了。

    可以在此处查看代码: http://beta.yapaste.com/fm

    当我登录时得到的错误是

    Warning: Cannot modify header information - headers already sent by (output started at /*/*/*/*/*/*/login.php:10) in /*/*/*/*/*/*/inc/login.php on line 43
    

    但我找不到错误。

    谢谢你的回答,维克多。

    编辑:发现了错误,我把我得到的yapaste文件包含在另一个文件中,所以php代码是第一个。

    2 回复  |  直到 15 年前
        1
  •  1
  •   strager    15 年前

    在login.php的第10行,一些东西被发送到浏览器(在 ?> <?PHP 标签计数),此时必须将标题发送到。当您尝试在这之后在第43行添加更多的标题时,这会触发一个警告。

    您需要查看第10行并防止发送输出,或者使用输出缓冲-您的前一个主机在默认情况下可能已经启用了该选项,这可能解释了它为什么不再工作…

        2
  •  0
  •   Piotr Müller    15 年前

    在脚本的条目处使用ob_start();开始缓冲,但是正如Simon所说的,在您尝试更改标题之前,有一些空白区域会发送到浏览器。

    记住,如果后面没有任何输出代码,可以省略结束的php标记,这将保护您不受文件末尾空白的影响。

    还要检查源文件的格式——如果它们是用带有BOM的UTF-8编码的,那么在文件的开头,有一些起始字符可能无法在编辑器中显示。