在setcookie的時候出現下面錯誤。
Cannot modify header information - headers already sent by ....
這個錯誤非常之常見,如果在setcookie之前輸出了任何文本內容,便會有上述錯誤提示。由於頁面頭部require了若干文件,一行行排查是很麻煩的事情,因此,我在頁面頂部加上:
PLAIN TEXT
PHP:
ob_start();
在setcookie之前加上代碼:
PLAIN TEXT
PHP:
ob_get_clean();
這是為了獲取setcookie之前頁面輸出的內容。頁面運行後,顯示輸出了一個空字符串,也就是說,setcookie之前沒有任何輸出。
繼而用vim打開了源文件,發覺vim有打開bomb選項,懷疑因此給代碼添加了隱藏的字符串,關閉之:
set nobomb
問題解決。
BOM是什麼意思?
BOM是“Byte Order Mark”的縮寫,用於標記文件的編碼。並不是所有的文本編輯工具都能識別BOM標記
作者:volcano發表於2月 28, 2008 at 8:16 pm
版權信息:可以任意轉載, 轉載時請務必以超鏈接形式標明文章原始出處和作者信息及此聲明
永久鏈接 - http://www.ooso.net/index.php/archives/378