2012-01-04 71 views
1

錯誤:無法添加Cookie,頭已發送。如何診斷錯誤:無法添加Cookie,頭已發送

我想知道是否有任何方法可以有效地診斷上述錯誤。
我知道這個錯誤的原因 - 當cookies發送到瀏覽器之後,如發送到瀏覽器,如標題,html等時。

有成千上萬的代碼行數百個文件。如果有人知道一個方法(即使第三方,這沒關係),這將幫助我找到哪些內容在cookie之前發送到瀏覽器,以便我可以輕鬆地操作這部分代碼。我無法找到導致此錯誤的實際位置或代碼修補程序。

一般情況下,這發生在許多vBulletin用戶那裏和vB工作人員告訴你禁用mods /插件等,但我想知道任何有效的方式來找到問題的位置。 <?php等沒有問題等。

+0

首先使用tcpdump捕獲生成的頁面並查看第一個字符。很有可能,開始時會出現空白,因此您可能需要搜索不以<開頭或不是以> – 2012-01-04 11:23:35

回答

1

請參閱header_sent()函數的cookie設置點。 php function header_sent()可以幫助你。

bool headers_sent ([ string &$file [, int &$line ]]) 

If the optional file and line parameters are set, headers_sent() will put the PHP source file name and line number where output started in the file and line variables. 
+0

+1開頭的腳本。它返回true,我用headers_list()函數打印標題。已經發送的頭文件是:Array([0] => X-Powered-By:PHP/5.2.17 [1] => Content-type:text/html)。有誰知道vBulletin的哪一部分發送這個頭文件?或如何跟蹤位置? – 2012-01-04 11:48:44

+0

編輯答案。你可以用同樣的功能來做到這一點 – Kris 2012-01-05 04:28:25

相關問題