最近研究织梦cms,在window2003系统+IIS下搭建好了织梦系统php的运行环境。做了些许修改后,过段时间(大概是iis程序池空闲时间自动退出),打开浏览器再访问织梦cms管理后,发现是空白的,什么内容都没有。用firebug看返回的内容有2个乱码字符串,但是页面上并没有显示这些乱码内容,空白一片。
跟踪程序执行后发现执行到验证用户信息,用header输出响应头是,下面的代码就退出了
//检验用户登录状态
$cuserLogin = new userLogin();
if($cuserLogin->getUserID()==-1)
{//echo "location:login.php?gotopage=".urlencode($dedeNowurl);
header("location:login.php?gotopage=".urlencode($dedeNowurl));
exit();
}
但是用firebug监视到的响应头并没有location跳转头,奇怪了。后面找了下php header无效的解决办法,发现是utf-8编码文件BOM签名的问题,但是为什么没有报错呢?如果php文件包含了BOM响应头,用header指令后应该是报类似下面这种错误才对啊,搞不懂了。。。
原来是自己用记事本打开过织梦cms的php文件修改后,保存时记事本给php自动增加了BOM签名,织梦系统的php文件是没有BOM签名的。怪不得第一次打开页面没问题,第二次打开后直接空白显示,BOM签名导致header无效没有自动跳转到登陆页面,而是显示空白页面。
解决办法就是用Dreamweaver将php文件的utf-8 BOM签名去掉,在访问织梦系统的后台就不会显示空白了。
使用Dreamweaver打开一个utf8编码的文件,按Ctrl+J,在“标题/编码”中,“包含unicode签名(BOM)”是勾选的,去掉勾选后保存即可。
加支付宝好友偷能量挖...
原创文章,转载请注明出处:织梦后台打开空白解决办法
2014-2-18Web开发网
阅读(178)喜欢(0)