php 5.3起弃用session_register

最近下了dedecms V5.7时,在登陆后台时,用户名和密码也没错,就是跳转不走,进不了后台管理页面,追踪了好久才发现根目录/include/userlogin.class.php中289行左右的位置及之后的位置

@session_register($this->keepUserIDTag);

使用了

session_register函数,就在这个地方卡住了,而且还@了错误信息,原来
本函数已自 PHP 5.3.0 起废弃并将自 PHP 5.4.0 起移除。我的php版本是5.4.0的
解决方法
加入代码

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

if (!function_exists('session_register')) fix_session_register();

function fix_session_unregister(){
function session_unregister(){
$args = func_get_args();
foreach ($args as $key){
$_SESSION[$key]="";
}
}
}

if (!function_exists('session_unregister')) fix_session_unregister();

 

发表评论