【问题标题】:PHP sending HTTP headers by default?PHP默认发送HTTP标头?
【发布时间】:2011-10-08 22:59:10
【问题描述】:

我正在开发一个用 PHP 编写的网站,该网站在我的计算机上本地运行(通过 XAMPP),并且一切正常。但是,当它在实际的网络服务器(也是 apache)上运行时,有时它的行为不正确,因为它正在发送我没有指定的额外 HTTP 标头。主要有两个:

  • 在重定向到另一个页面的脚本上,发送 "Content-type: image/gif" 标头,这会导致浏览器将其解释为(损坏的)图像,而不是执行重定向.
  • 在输出文件的两个脚本(一个是常规文本文件,另一个是 GZipped 文本文件)上,除了其他所有内容之外,它还会打印 "Status: 404 Not Found",在某些情况下,浏览器无关紧要,但其他浏览器(Chrome、Firefox)解释为错误。

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

【问题讨论】:

  • 你能提供更多细节吗?
  • 您的一个安装启用了输出缓冲,因此额外的 header() 调用在那里成功。您的应用程序在某处包含它们,PHP 不会自行组成它们。你需要自己调试这个:太本地化了。

标签: php apache http


【解决方案1】:

php 只发送一个标头

数组 ( [0] => X-Powered-By: PHP/5.3.5 )

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

print_r(headers_list());

你应该检查你的脚本,如果你发送了任何标题或使用了任何配置在 .htacesss 或更改了 httpd.conf 中的任何内容

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-30
    • 2015-09-26
    • 2021-02-04
    • 2020-03-06
    • 1970-01-01
    相关资源
    最近更新 更多