新聞中心
編碼問題導(dǎo)致wordpress主題白屏的原因及解決方法
小編今天用記事本修改了wordpress里面的評論文件wp-config.php,導(dǎo)致白屏。 為神馬不能用記事本修改呢? 后面小編我在網(wǎng)上找資料,對照自己的原始操作,發(fā)現(xiàn)了問題所在。其實這就是傳說中的UTF-8編碼BOM問題。 安裝了新插件,插件與wordpress不兼容,導(dǎo)致出現(xiàn)白屏。這個問題大家都知道也都會解決我就不多講了今天小編為大家深入剖析一下編碼問題導(dǎo)致WordPress的白屏問題。 問題原因: Windows下對于UTF-8編碼的文本文件在被用默認的記事本打開后,在保存的時候,Windows會自動在文件的頭部添加三個隱藏的字符0xEF?0xBB?0xBF,也就是BOM(Byte?Order?Mark,即字節(jié)流標記),它的作用是讓應(yīng)用程序識別該文件的編碼格式。眾所周知PHP最常用的架構(gòu)為LAM(Linux+Apache+MySQL+PHP),并不是為Windows平臺設(shè)計的,最初語言設(shè)計時并為考慮到Windows下的BOM問題,所以PHP在執(zhí)行的時候并不會忽略BOM,在讀取、包含或者引用這些文件的時候,PHP會將BOM的三個隱藏字符當作文件正文開頭的一部分。根據(jù)腳本語言的特點,這串字符將會被顯示出來,由此造成即使頁面的top?padding設(shè)置為0,也無法讓整個網(wǎng)頁緊貼瀏覽器頂部,因為在HTML的開頭有這3個字符。 問題現(xiàn)象: 受到Cookie送出機制的限制,在這些開頭已經(jīng)有BOM的文件中,Cookie無法正確送出(因為在Cookie送出前PHP已經(jīng)送出了文件頭),所以WordPress登入和登出功能失效。并且一切依賴于Cookie、Session實現(xiàn)的功能全部無效,無法保存、更新任何設(shè)置。也就是我們經(jīng)??吹降陌灼连F(xiàn)象! 解決辦法: 在Windows上用PHP進行WordPress開發(fā)時,務(wù)必記住不要用記事本編輯文件,同時小編我發(fā)現(xiàn)用editplus也會出現(xiàn)類似的問題。在這里推薦用woredpress后臺的編輯功能,或者用不會給文件亂加BOM的編輯工具,如Dreamware、Notepad2等。
本文地址:http://www.gle-technology.com/wordpress/13158.html