dedecms后台无法登录解决办法

今天开始修改一个基于dedecms的网站,我要登录它的后台管理系统,地址是domain/dede,页面显示正常,用户名和密码输入没有问题,结果显示一片空白,根本无法进入后台,于是我开始查找问题所在。

我先找到到dede下的login.php,经过我各种断点之后,发现是79行的:

$cuserLogin->keepUser();

有问题,$cuserLogin是userLogin类的对象,userLogin类的位置在dedecms的include中的userlogin.class.php,在290行左右有一句:

@session_register($this->keepUserIDTag);

我去掉了代码前面的@,程序的报错终于出来了,我到php的手册里查了下session_register这个方法,里面写着大大的Warning:

Warning

本函数已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除

好了!原来如此!我的php正好是5.4,这可如何是好啊?要不我重写一个session_register方法吧!

function session_register(){
	$args = func_get_args();
	foreach ($args as $key){
		$_SESSION[$key]=$GLOBALS[$key];
	}
}

将这段代码写入userlogin.class.php中,dedecms的后台就成功登录进去了!不知道dedecms官方啥时候修改这个bug啊?