2012-08-08 72 views
-2

可能重複:
Headers already sent by PHPPHP頭不工作

「無法修改標題信息 - 已經發送了頭」

由於更新我的MacBook Pro到OS X山獅,我的本地主機網站出現故障。

我的header("Location: ./xxx.php");重定向的大多數(如果不是全部)未能正常工作。他們在獅子工作,所以我假設山獅是這個原因,而不是我的代碼。如果關閉內置服務器並啓用/使用MAMP,也會出現該錯誤。

這讓我相信這是一個問題,山獅作爲一個整體如何對待標題。如果這個錯誤實際上是我的代碼,那麼爲什麼它在Lion中工作?如果是這樣,我會假設Mountain Lion以更嚴格的方式讀取PHP代碼。此外,我然後做了一個簡單的test.php腳本,其頭部重定向以查看一般情況下的標題是否無效。事實證明,當我在Safari中打開它時,該腳本沒有任何問題重定向我。這個錯誤對我來說似乎很奇怪,我想要一些反饋。謝謝。

+3

發送輸出後無法發送標題。錯誤說明全部 – 2012-08-08 19:45:51

+0

「請記住,必須在發送任何實際輸出之前調用header()」http://php.net/manual/en/function.header.php – TheZ 2012-08-08 19:46:20

+0

也許您已將空格添加爲第一個字符你的PHP文件不小心或類似的東西,這打破了它。 – insertusernamehere 2012-08-08 19:48:27

回答

3

Cannot modify header information - headers already sent表示數據已發送時您正試圖發送標題。這是不可能的。

如果您需要調試您的應用程序,請用簡單的exit;代替header('Location: ...),並檢查是否有任何輸出。搜索任何echoprint ...在您撥打header()之前。

+0

它的工作都建在更新到OSX ML之前切斷並且在MAMP上。我一次只有一個。並且,在標題以echo/print形式重定向之前沒有輸出。有幾個
標籤w /文檔類型,並且在session_start()/ sessions下方的頂部附近,但我不知道這是否足以破壞腳本。 html的東西不在PHP標籤中。 – user1585762 2012-08-08 19:55:58

+0

如果您願意,我可以發佈我的登錄腳本,這是我遇到此問題的腳本之一。 – user1585762 2012-08-08 20:01:56

+0

@ user1585762「幾個
標籤」被認爲是輸出。在瀏覽器或控制檯中可見的任何內容均視爲輸出。 – Tchoupi 2012-08-08 20:03:33