合肥市高新區(qū)長江西路與科學(xué)大道交口5F創(chuàng)業(yè)園A座309
136 5560 1775

PHP報Warning: session_start() [function.session-start]: 錯誤解決方案

發(fā)表日期:2013-04-03 瀏覽次數(shù):6907次

 今天在配置php網(wǎng)站的時候,經(jīng)常會在頁首出現(xiàn)Warning: session_start() [function.session-start]: Cannot send session cache limiter,也不影響頁面打開。

就到百度中查找了一下,實(shí)際解決了問題,先記錄下來,以備后患,呵呵

Warning: session_start() [function.session-start]: Cannot send session cache limiter - headers already sent (output started at D:orther objectphptestsession.php:1) in D:orther objectphptestsession.php on line 2

1. 如果用dreamwever的話并使用utf-8編碼,請?jiān)谀硞€頁面上右鍵==>頁面屬性==>標(biāo)題/編碼,就會看到一個“包括Unicode 簽名(BOM)(S)”的復(fù)選框,把它取消即可。這是因?yàn)閡tf-8編碼文件含有的bom原因,而php4,5都是不支持bom的。

2. 修改php.ini中的session.auto_start = 0 為 session.auto_start = 1

3. 還有一種方法直接給session_start()加上@session_start()就沒事了。

4. 該信息說明在啟用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)文件,其實(shí)就是捕捉整頁的輸出,然后存成文件,經(jīng)常在生成HTML,或者整頁緩存中使用。

5.  在PHP文件頭部直接加下屏蔽警告錯誤的代碼:
    PHP代碼

    <?php 
       //如有session_star(),放在session_star()后面 
       error_reporting(E_ERROR); 
       ini_set("display_errors","Off"); 
       //你的php代碼 
    ?> 


將文章分享到:

版權(quán)所有:啟邁科技-合肥網(wǎng)站建設(shè) 皖I(lǐng)CP備19009304號-1 皖公網(wǎng)安備 34010402702162號

網(wǎng)站建設(shè),網(wǎng)站設(shè)計公司啟邁科技,為眾多企業(yè)提供網(wǎng)站建設(shè),網(wǎng)站制作,響應(yīng)式網(wǎng)站設(shè)計,手機(jī)網(wǎng)站建設(shè),微網(wǎng)站,模板建站,企業(yè)郵箱等一站式互聯(lián)網(wǎng)解決方案和建站服務(wù)10年。