Neo's Blog

首頁 相本 討論 書籤

分類目錄
本站日誌 (51)
碎碎唸啦 (173)
網站架設 (84)
程式設計 (161)
軟體使用 (69)
電子商務 (126)
經營奇想 (48)
基金理財 (11)
聰明消費 (87)
電影心得 (47)
開放原碼 (16)
工作記錄 (2)
毛毛小記 (9)
就是不同 (2)




歷史資料
 




May 10, 2005
[PHP] 意外的 session_start() 錯誤
1
Warning: session_start(): Cannot send session cache limiter - 
headers already sent (output started at D:\test.php:1) 
in D:\test.php on line 2

有的時候出現這種錯誤不見得是故意的,但是程式碼很長的時候就很難去注意到最上面不小心多出一個東西。

如果我只貼程式碼最上面的一段,錯誤就很明顯了。

1
<?
session_start();
?>

可能在開檔案的時候鍵盤壓到了 ,所以在最開頭的地方多了個 1。但是在程式碼一大片的時候,大概不會有人注意到最上面多了一個字,以致於 session_start(); 發生錯誤。

至於為什麼 session_start(); 前不能先輸出文字呢?

有興趣的人就看看 PHP 官方說明吧:

session_start() will register internal output handler for URL rewriting when trans-sid is enabled. If a user uses ob_gzhandler or like with ob_start(), the order of output handler is important for proper output. For example, user must register ob_gzhandler before session start.

http://www.php.net/session_start

 
由 Neo 發表於 May 10, 2005 11:23 AM 收進你的MyShare個人書籤  

最近也有碰過...
不過是因為big5轉utf-8
多了一個看不見的碼
(在eclipse上完全看不出來)...
所以只好在第一個字上按一下backspace
才解決的...


koala 發表於 May 11, 2005 01:10 AM

我上次更累
轉utf-8
結果有個bot肉眼看不到的

差點快兔血
希望可以大家一個借鏡


sony 發表於 February 24, 2006 10:14 PM
發表迴響  
(*星號開頭為必填欄位)











(請輸入您看到的數字,看不到請按右鍵->顯示圖片)


記住我的資訊?







Copyright 2005 Neo's Blog All rights reserved.