Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:\orther object\phptest\session.php:1) in D:\orther object\phptest\session.php on line 2
- 如果用dreamwever的話并使用utf-8編碼梅掠,請在某個頁面上右鍵==>頁面屬性==>標(biāo)題/編碼,就會看到一個“包括Unicode 簽名(BOM)(S)”的復(fù)選框鼓拧,把它取消即可汪榔。這是因為utf-8編碼文件含有的bom原因氢妈,而php4,5都是不支持bom的橄仍。
- 修改php.ini中的session.auto_start = 0 為 session.auto_start = 1
- 還有一種方法直接給session_start()加上@session_start()就沒事了。
- 該信息說明在啟用session的時候悠鞍,已經(jīng)有內(nèi)容輸出弓坞,可在最上面加 ob_start()。
ob是output buffering的簡稱拉宗,ob用對了峦树,能加速網(wǎng)頁的速度辣辫,但是盲目的加上ob函數(shù),只會增加CPU額外的負(fù)擔(dān)魁巩。ob的基本作用急灭。 1).防止在瀏覽器
有輸出之后再使用setcookie,或者h(yuǎn)eader歪赢,session_start函數(shù)造成的錯誤化戳。
2).捕捉對一些不可獲取的函數(shù)的輸出,比如phpinfo會輸出一大堆的HTML埋凯,但是我們無法用一個變量
例如$info=phpinfo();來捕捉点楼,這時候ob就管用了。
3).對輸出的內(nèi)容進(jìn)行處理白对,例如進(jìn)行g(shù)zip壓縮掠廓,例如進(jìn)行簡繁轉(zhuǎn)換
,例如進(jìn)行一些字符串替換甩恼。
4).生成靜態(tài)文件蟀瞧,其實就是捕捉整頁的輸出,然后存成文件条摸,經(jīng)常在生成HTML悦污,或者整頁緩存中使用。 - 在PHP文件頭部直接加下屏蔽警告錯誤的代碼:
<?php
//如有session_star(),放在session_star()后面
error_reporting(E_ERROR);
ini_set("display_errors","Off");
//你的php代碼
?>
- 另外在Sublime中出現(xiàn)這個問題時钉蒲,可能是因為編碼格式的問題切端,解決辦法可以是把編碼從UTF-8改成GBK或者是GBK改成UTF-8,在改變之后你可以看到如下情況:
<?php
//亂碼session_star(),亂碼session_star()亂碼
error_reporting(E_ERROR);
ini_set("display_errors","Off");
//亂碼php亂碼
?>
之后你把最開頭的那個“锘”給去掉就可以了顷啼。