【php錯誤】Cannot modify header information / 解決方法

iZO 在轉移主機的時候,發現原有的主機出現了這樣的錯誤。

Cannot modify header information



通常是出現在網頁轉向使用「header」函式的時候,才造成出現『緩衝區的錯誤訊息』。而 iZO 是使用 cookie出現的錯誤,解決方法有三種。

 

方法一:

1. 修改系統設定檔「php.ini」
2. 找到「output_buffering」將後面的值設定為「On」,或是等於大於「4096」的數值(設定緩衝區大小)
3. 然後儲存並重新啟動Apache就可以了。

 

方法二:

1. 在有問題的函式前面,加入「ob_start();」函式。
2. 在結束的地方加上「ob_end_flush();」

 

方法三:

使用『Notepad++』,編輯檔案,編碼選擇 UFT-8(無BOM)

 

方法四:

如果是 session_start(); 出問題,
請將它移到檔案第一排第一個字的位置( <php? 的後面),
因為其函式前方不可加入任何資料。



  • CY

    版主您好:

    想冒昧請教一下…
    我的 wordpress 也出現這個狀況:

    Cannot modify header information – headers already sent by (output started at /home3/wdreamon/public_html/wp-content/themes/triton_lite/functions.php:286) in /home3/wdreamon/public_html/wp-includes/pluggable.php on line 1174

    由於不懂程式,不太確定該從何修改…orz
    在後台也找不到 php.ini 這個檔案,
    可以向版主請教解決的方法和步驟嗎?
    萬分感謝。

    • iZO

      你這比較像是主題的問題 換個主題試試
      如果不了解 php.ini 可能要從頭學哦!