2011-10-08 66 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改變任何東西