2012-10-30 34 views
0

Possible Duplicate:
「Warning: Headers already sent」 in PHP我的PHP頁面呈現/不同我本地XAMPP安裝誤差相對於我的虛擬主機

我使用的是當地的XAMPP安裝到測試PHP/MySQL爲基礎的網站的發展。我的本地PHP版本是5.3.8,my webhost正在使用5.2。我得到標題錯誤:

Cannot send session cache limiter - headers already sent

在託管版本上,不顯示在本地版本上。這是版本問題,設置問題還是其他問題?我將更改代碼以使其適用於兩者,但理想情況下,我希望這兩個環境的行爲接近相同。

+1

[這可能是區別](http://www.php.net/manual/en/outcontrol.configuration.php#ini.output-buffering) – Wrikken

+0

Wrikken釘了它。 Output_buffering在主機上設置爲「no value」,在本地服務器上設置爲4096。 Jocelyn提到的可能重複的徹底答案中提到了這一點,但我認爲這個問題實質上是不同的。 –

回答

0

這與php版本無關,不同之處在於您的主機啓用了錯誤報告功能,但本地不支持。 請記住,必須在發送任何實際輸出之前調用session_start(),或者通過普通的HTML標記,文件中的空行或PHP發送。使用include或require函數或其他文件訪問函數讀取代碼並在調用session_start()之前輸出空格或空行是非常常見的錯誤。使用單個PHP/HTML文件時存在同樣的問題。

+0

請參閱:http://php.net/manual/en/function.header.php和http://php.net/manual/en/function.session-start.php – RezaSh

0

您是否比較了兩個服務器的html源代碼?可能還有其他錯誤或打印出來的字符串沒有注意到。 php標籤是否在文件的開頭?甚至在php標籤之前留下空白可能會導致此錯誤。

嘗試評論代碼塊以查找導致錯誤的行,或者使用exit函數(如果項目太大而無法在特定行停止執行腳本並查看是否所有內容都運行良好直到該行)。

相關問題