Cannot send session cache limiter - headers already sent錯誤是由於在調用Session_Start()之前有輸出導致
例如下面是錯誤的:
<br /><?PHP<br />Session_Start();//之前在第一行已經有輸出<br />.....<br />?>
解決方案
如果你不想看到“Cannot send session cache limiter - headers already .....”,這麼令人討厭的輸出,請將session_start();寫成如下:
error_reporting (E_ALL ^ E_WARNING);<br />session_start();
本人申明:上方法可行,但是不可取!當你調用:
require('config.inc.php');</p><p>/**************************************/<br />/* 檔案名稱:quit.php */<br />/* 功能:使用者退出程式 */<br />/**************************************/<br />//清空SESSION<br />$_SESSION = array();<br />session_unset();</p><p>//清空SESSION<br />session_destroy();</p><p>//跳轉頁面<br />header("Location: index.php");<br />
來清空session,那後果更不堪設想!!!!!!!!!!!!!所以,“心”病還需心藥治。歸根問題和解決方案如下::
個人總結:
php代碼session_start() 前面不能有輸出,而且必須放在首行;在session_start()的php代碼之前的任何字元都被看作headers。
所以解決方案是:
將<? session_start();.......?>放到檔案首,並且<? 前面不能有任何字元
本人編寫php程式:EditPlus結合DW