WordPress,白屏问题,解决方法,phpMyAdmin导入,首页显示空白,无任何内容的白屏现象

问题描述: 
用WordPress Database Backup插件备份数据库后,重装WordPress,进入phpMyAdmin导入备份的.sql文件,导入成功,在后台也能看到日志和评论等数据,但打开首页时却显示空白,无任何内容的白屏现象

解决办法: 
重装WordPress后,先不要导入数据,更换一个主题后再导入sql文件。

原因分析: 
原来WordPress非官方中文版的默认主题存在BOM问题。
WordPress采用UTF-8编码,Windows自带的记事本在保存一个UTF-8编码的文件时,会在文件头插入3个隐藏的字符(0xEF 0xBB 0xBF,即“BOM”),用来让记事本等文本编辑器识别这个文件是否以UTF-8编码。
但PHP并不会忽略BOM,因此在读取、包含或者引用这些文件时,就会把BOM作为文件开头正文的一部分。
根据嵌入式语言的特点,这一串字符就会被直接执行(显示)出来,因此造成即使页面的top padding设置为0,也无法让整个网页紧贴在浏览器的顶部,就是说在HTML的开头多了这3个字符。
最大的麻烦还不是这个。由于受COOKIE送出机制的限制,在这些文件开头已经有BOM的文件中,COOKIE无法送出(因为在COOKIE送出前PHP已经送出了文件头),所以登入和登出功能就失效了。
所有依赖COOKIE、SESSION实现的功能全部都没用了。
所以,在编辑PHP文件时,一定要记住不可以乱加BOM的文本编辑器。
Linux下的文本编辑器应该都没有这个问题;
Windows下可以使用Notepad2。
已经被添加BOM的文件,可以用上述编辑器打开,再另存一次(特别要提到的是,如果使用Editplus编辑器,则需要先另存为gb,再另存为UTF-8。) 

所以,如果你在修改任何PHP文件后发生以下情况: 
1、不能登入或者不能登出; 
2、页顶出现一条空白; 
3、页顶出现错误警告; 
4、其它不正常的情况。
请先检查你使用的编辑器是否有问题。

Tags: , , , , ,

  • Digg
  • Del.icio.us
  • StumbleUpon
  • Reddit
  • Twitter
  • RSS

Leave a Reply

You must be logged in to post a comment.

文字链