很多人在架設WordPress時,常常換用新佈景或是一開始安裝時常常會碰到一個錯誤訊息「Cannot modify header information – headers already sent by」,通常遇到問題別擔心,Google一下會有很多答案的,這問題其實發生再轉向時,緩衝區出了些問題,只要開啟一下系統設定調整一下,就可以解決這個問題了。
這個問題全句警告訊息是:
Warning: Cannot modify header information – headers already sent by
其實解決方法很簡單,只要調整一下php.ini內的設定值就可以正常了,換句話說,就是系統本身有個設定值預設是未開啟,只要我們將他開啟就可以了。所以找到系統設定檔「php.ini」,建議使用「Notepad++」開啟,找到「output_buffering」並將他後面的值設定為「On」(啟動),當然也可以設定成「4096」或更高的數值(設定緩衝區大小),然後儲存並重新啟動Apache就可以了。
如果你是使用虛擬主機而遇到這樣的問題,建議可以先詢問主機商是否可以啟動這項函數?或者是說看可否透過.htaccess來調整這項設定數值(有些虛擬主機可以這樣調整)。另外,官方有另外一種是透過PHP函式「ob_start()」來解決,就是加在出問題的檔案語法前面,在結束的地方加上「ob_end_flush()」就可以了。您可以參考「剖析PHP中的輸出緩衝」這篇文章,裡面算講的蠻詳細的。
我是用租的主機…..
要請客服改???
是的,或是自己丟php.ini到根目錄看看
大大您好!!
文內有題到VM虛擬機發生後解決方法,請否能夠講得更詳細點呢?
我這幾天遇到這個問題始終無法解決,不知道是不是用虛擬機就不能成功解決header的問題呢?
我找不到php.ini…. 請問是用ftp到目錄裡找的嗎?
我發現這種錯誤其實是….
在開始使用Wordpress之初,我經常在wp-admin/install.php這個“著名的五分鐘安裝現場”之後,發現他明明已經提示沒有問題,已經安裝好了,自己的WP管理後臺上頭卻會出現類似這樣的“亂碼提示”(錯誤提示):
Warning: Cannot modify header information – headers already sent by (output started at C:\xampp\htdocs\w\wp-config.php:1)
那個時候花了好長時間折騰不出原因,後來只是因為換了不同版本的Wordpress安裝包,就沒問題了,但一直不知其所以然。
現在我可以告訴你,這個問題,實在是太簡單了,如果你現在出現了這個問題,請看下去吧,相信五分鐘以內你的問題可以得到解決!
好,現在你看一下自己上面的錯誤提示,應該有這一行:
(output started at C:\xampp\htdocs\w\wp-config.php:1)
at後面列出來的文檔就是關鍵所在,那你就在FTP上下載這個文檔到本地開始修改吧!
現在你可以打開這個文檔,一般來說就是wp-config.php,當你打開這個文檔,直接點另存為就可以了,然後你看看編碼那裡,選擇為ANSI之後點保存試試,當你把修改好的文檔重新上傳之後,刷新一下,是不是錯誤提示就沒有了!
如果還有錯誤提示,照上面的步驟進行,把錯誤提示提及到的文檔都修改一遍吧,如果還有什麼問題,留言吧,或許我會有興趣跟你一起研究問題出在哪里。
轉載自http://poshi.org/post/401.html
PS我自己是裝在http://www.com.nu免費空間,最後不是放在public_html,而是直接放在www文件夾底下。
…最後用我找到的這個方法一改就正常了…真是無言…
今天安裝新版的WORDPRESS,在測試機上安裝也出現這樣的問題,照著nnnrex大大所述修改編碼後就解決了!!
太感謝你了
我發現這種錯誤其實是….
在開始使用Wordpress之初,我經常在wp-admin/install.php這個“著名的五分鐘安裝現場”之後,發現他明明已經提示沒有問題,已經安裝好了,自己的WP管理後臺上頭卻會出現類似這樣的“亂碼提示”(錯誤提示):
Warning: Cannot modify header information – headers already sent by (output started at C:xampphtdocswwp-config.php:1)
那個時候花了好長時間折騰不出原因,後來只是因為換了不同版本的Wordpress安裝包,就沒問題了,但一直不知其所以然。
現在我可以告訴你,這個問題,實在是太簡單了,如果你現在出現了這個問題,請看下去吧,相信五分鐘以內你的問題可以得到解決!
好,現在你看一下自己上面的錯誤提示,應該有這一行:
(output started at C:xampphtdocswwp-config.php:1)
at後面列出來的文檔就是關鍵所在,那你就在FTP上下載這個文檔到本地開始修改吧!
現在你可以打開這個文檔,一般來說就是wp-config.php,當你打開這個文檔,直接點另存為就可以了,然後你看看編碼那裡,選擇為ANSI之後點保存試試,當你把修改好的文檔重新上傳之後,刷新一下,是不是錯誤提示就沒有了!
如果還有錯誤提示,照上面的步驟進行,把錯誤提示提及到的文檔都修改一遍吧,如果還有什麼問題,留言吧,或許我會有興趣跟你一起研究問題出在哪里。
轉載自http://poshi.org/post/401.html
PS我自己是裝在http://www.com.nu免費空間,最後不是放在public_html,而是直接放在www文件夾底下。
…最後用我找到的這個方法一改就正常了…真是無言…
不好意思打擾了!!!
我改成On跟4096…等等,
但是還是無法解決這個問題。(都有重新啟動)
阿帕契??
請問output_buffering設定為「On」還是沒解決,該怎麼辦?
可以請問一下php.ini要去哪裡找??
謝謝
感谢,我的问题是编码问题,无BOM就OK了
恩我的是改BOM,改幾個就搞定了
但是也有遇到朋友,一直改啊改改不完~
可能就要用香腸的方法了
應該還有修改的檔案裡頭有BOM所造成的
很多人都是用內建的記事本改