DedeCMS V5.7安装后登录后台显示空白解决办法

原因分析

session_register,php5.4移除了这个函数,版本里说明,继续使用该函数会产生错误。
if (!isset($_SESSION[$this->keepUserTypeTag]))改成这个方式就可以了

解决方法是:

找到文件夹中的userlogin.class.php文件中把所有带有session_register的全部删除即可。

@session_register下的所有语句屏蔽掉

function keepUser()
{
if($this->userID != ” && $this->userType != ”)
{
global $admincachefile,$adminstyle;
if(empty($adminstyle)) $adminstyle = ‘dedecms’;
代码如下
 

$_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的时候 如果文件编码不一致会导致页面会输出一些空白,这就是问题所在,我用eclie把程序编码都变成UTF8(之前是UTF8 + BOM)经过转换之后我发现include/comm.inc.php 编码还是UTF8 + BOM ,于是用editplus 强制转成UTF8,问题解决。其实主要问题是出在include/comm.inc.php 文件编码上 转成UTF8即可。