代码之家  ›  专栏  ›  技术社区  ›  Meep3D

未将PHP头发送到浏览器

  •  1
  • Meep3D  · 技术社区  · 14 年前

    我的本地测试服务器上的PHP和Apache有一个非常奇怪的问题。出于某种原因,它一直停止向浏览器发送邮件头(我很确定这是问题所在)。

    这不是旧的“输出已经发送”的情况,因为它工作正常,有问题,在我重新安装Apache之后就消失了,现在又回来了。会话似乎也已中断。它也不会为“headers already sent”(已发送的邮件头)提供任何错误,而且代码在活动网站上有效。

    它也不是浏览器,因为我尝试了不同的浏览器和不同的机器,它们显示出相同的问题。

    甚至一些愚蠢的东西,比如 <?php header ('Location: http://www.yahoo.com'); ?> 不起作用。

    我正在Windows上运行wampserver(最新版本)。明信片上的答案。

    4 回复  |  直到 6 年前
        1
  •  0
  •   Álvaro González    6 年前

    如果您在2010年2月使用xdebug,它在生成的HTTP头中有一个已知的问题:

    此问题现已解决,因此要么切换到较新版本,要么完全删除扩展。

        2
  •  1
  •   troelskn    14 年前

    甚至一些愚蠢的东西,比如 <?php header ('Location: http://www.yahoo.com'); ?> 不起作用。

    试试这个:

    <?php header('Location: http://www.yahoo.com'); exit; ?>
    
        3
  •  0
  •   Narcissus    14 年前

    首先,检查php.ini是否已将“显示错误”设置为“打开”,并且在执行此操作时,请确保“错误报告”设置为“e所有&~e注意”。如果没有这些,即使出现错误,也不会看到错误。

    其次,确保在同一个文件中将“输出缓冲”设置为“关闭”。以防万一。

    最后,还提到了检查Apache日志。检查您的PHP错误日志(通常是另一个文件)也很重要。

        4
  •  0
  •   Meep3D    14 年前

    一次重新安装就把它修好了,够奇怪的。