2011-10-08 59 views
-1

我正在用PHP编写的网站上工作,我在本地计算机上运行(通过XAMPP),并且一切正常。但是,当它运行在实际的web服务器(也是apache)上时,它偶尔会表现不正确,因为它发送了我没有指定的额外HTTP头。两个主要的是:PHP默认发送HTTP头信息?

  • 在重定向到另一页的脚本,一个“内容类型:image/GIF”头中发送,这会导致浏览器解释为(虚线)的图像,而不是执行重定向。
  • 在输出文件的两个脚本(一个常规文本文件,另一个GZip文本文件)上,除打印其他所有内容外,它还打印一个“Status:404 Not Found”,在某些浏览器中无关紧要但其他人(Chrome,Firefox)将其解释为错误。

这可能是什么原因造成的?是否有任何PHP设置导致某些标题自动发送?它与文件权限有什么关系,或者是.htdocs文件中的某些内容?

+1

你能否提供更多细节? – Brad

+1

您的一个安装已启用输出缓冲,因此附加的header()调用将在此处成功。你的应用程序将它们包含在某个地方,PHP不会自行构建它们。您需要自己调试:太本地化。 – mario

回答

1

PHP只发送一个报头

阵列([0] => X供电-通过:PHP/5.3.5)

也可以使用此来查看标头通过这样做发送。

print_r(headers_list());

你应该检查你的脚本,如果你发送的任何头以上.htacesss使用的任何配置,或在httpd.conf改变任何东西