如果瞎折騰wordpress網站,經常會碰到這樣那樣的問題,碰到問題大多都可以在網上找到相關介紹,因為也許其它WP朋友也碰到過類似的問題,前段時間我就碰到過這樣一個問題,網站進不了后臺,一打開后臺頁/wp-admin/ 就會出錯,頁面只出現如下的代碼:
Warning: Cannot modify header information – headers already sent by (output started at /home/wanlimmc/domains/wanlimm.com/public_html/wp-config.php:1) in /home/wanlimmc/domains/Vevb.com/public_html/wp-includes/pluggable.php on line 875
前臺卻能進去,這可能是因為我使用了緩存插件的原因,前臺頁面有緩存文件,所以能打開,而后臺沒有,因為手癢測試了2個緩存插件:DB Cache Reloaded Fix 和 Hyper Cache ,碰到這個問題后,查了一下相關資料,有人說是這兩插件會沖突,也有人說是DB Cache Reloaded Fix 的問題,因為DB Cache Reloaded Fix 是數據庫緩存插件,而碰到這樣的問題往往是數據庫的問題.
我就依照相關介紹通過ftp把DB Cache Reloaded Fix 插件和緩存全部刪除,可是刷新后臺,還是相同的問題,這樣一來就排除了這個可能性.
于是,我又對這個錯誤代碼進行了一次研究,其中有wp-config.php:1的字段,我估計跟這段代碼有關,于是又查閱了一下這個相關的資料,還真的從中找到了類似的信息,相關提示說:可能是因為編輯wp-config.php這個文件保存時出現問題.
于是,我把wp-config.php這個文件重新編輯保存一下,保存格式為ANSI,再上傳,到此問題解決了,wordpress可愛的后臺登錄界面終于出現了,呵呵,這是小驚一場,特此分享出來,供大家參考.
方法試過不少,真正的解決辦法是:
打開文件”/wp-includes/pluggable.php“,修改wp_set_auth_cookie函數,將(兩處,第一處在666行左右,第二處就在后面幾行,基本上改第一處就可以了,wordpress 2.9.2;wordpress 3.0 在691行)代碼如下:
setcookie($auth_cookie_name, $auth_cookie, $expire, ADMIN_COOKIE_PATH, COOKIE_DOMAIN, $secure, true);
修改為:
setcookie($auth_cookie_name, $auth_cookie, $expire, SITECOOKIEPATH, COOKIE_DOMAIN, $secure, true);
注意:主要就是更改cookie的作用目錄,由原來的“/wp-admin”變成根目錄“/”,問題大概是由于無法跨目錄讀取用戶的cookie導致的(參見pluggable.php中的函數wp_parse_auth_cookie).
新聞熱點
疑難解答
圖片精選