原因分析
session_register,php5.4移除了这个函数,版本里说明,继续使用该函数会产生错误。if (!isset($_SESSION[$this->keepUserTypeTag]))改成这个方式就可以了
解决方法是:
找到include文件夹中的userlogin.class.php文件中把所有带有session_register的全部删除即可。
@session_register下的所有语句屏蔽掉
function keepUser(){if($this->userID != ” && $this->userType != ”){global $admincachefile,$adminstyle;if(empty($adminstyle)) $admin> 代码如下复制代码
$_SESSION[$this->keepAdminStyleTag] = $adminstyle;
PutCookie(‘DedeUserID’, $this->userID, 3600 * 24, ‘/’);PutCookie(‘DedeLoginTime’, time(), 3600 * 24, ‘/’);
$this->ReWriteAdminChannel();
return 1;}else{….以下省略
DedeCMS-V5.7后台登陆成功之后为空白页
经过反复排查得出了下面总结
其实问题比较简单在降低了log级别之后 error_reporting(E_ALL);
可以看到在header之前有了输出,为什么会这样呢,在php include 和require的时候 如果文件编码不一致会导致页面会输出一些空白,这就是问题所在,我用eclipse把程序编码都变成UTF8(之前是UTF8 + BOM)经过转换之后我发现include/comm.inc.php 编码还是UTF8 + BOM ,于是用editplus 强制转成UTF8,问题解决。其实主要问题是出在include/comm.inc.php 文件编码上 转成UTF8即可。
无论何时何地,只要创造就有收获,只有不息的奋进,才能证明生命的存在。