香港独立IP空间
香港php空间
美国php空间
域名注册

目前好多的空间商都针对于php版本进行升级了,目前无忧主机的php空间的php版本有5.2、5.3、5.4 、5.6、7.0 ,那么dedecms源码程序可以在5.2和5.3完美的运行几乎是没有出现啥问题,而今天无忧主机在接待售后的时候发现一位站长朋友找到我们,说是登录后台上不去,于是乎截图给无忧主机小编查看,如图1所示:

17 300x103 dedecms在php5.4环境下登录后台或者退出后台报错或者显示页面找不到的问题解决
从该图中可以查看这个并不是页面找不到的问题,而是500问题的错误,那么出现这样的错误只有两种可能性,一个是文件的权限问题,但是文件的权限问题不会出现这样的提示的,还有一个就是配置的问题。那么这位朋友的这个站点之前是可以完美的运行的,所以出现这样的问题肯定是程序的方面的问题。
于是无忧主机小编就百度了一下,确实出现这样的问题还真的不少,有的是白屏,有的是无法运行,总之就是在登录后台这里出现的问题,经过相关的资料发现:session_register()和session_unregister()函数已经在php5.4版本中被废弃了,所以就会出现以上问题的情况,找到问题我们就好办了。
首先是进入到的我们的会员中心–主机管理–控制面板–文件管理。
然后进入到根目录找到include/userlogin.class.php,如图2所示:

26 300x244 dedecms在php5.4环境下登录后台或者退出后台报错或者显示页面找不到的问题解决
找到之后点击编辑,查找如下代码:

            @session_register($this->keepUserIDTag);
            $_SESSION[$this->keepUserIDTag] = $this->userID;
            @session_register($this->keepUserTypeTag);
            $_SESSION[$this->keepUserTypeTag] = $this->userType;
            @session_register($this->keepUserChannelTag);
            $_SESSION[$this->keepUserChannelTag] = $this->userChannel;
            @session_register($this->keepUserNameTag);
            $_SESSION[$this->keepUserNameTag] = $this->userName;
            @session_register($this->keepUserPurviewTag);
            $_SESSION[$this->keepUserPurviewTag] = $this->userPurview;
            @session_register($this->keepAdminStyleTag);
            $_SESSION[$this->keepAdminStyleTag] = $adminstyle;
            PutCookie('DedeUserID', $this->userID, 3600 * 24, '/');
            PutCookie('DedeLoginTime', time(), 3600 * 24, '/');

如图3所示:
将这些代码中的session_register函数给删除掉即可或者使用//进行注释。

34 300x239 dedecms在php5.4环境下登录后台或者退出后台报错或者显示页面找不到的问题解决
如图4所示:

41 300x208 dedecms在php5.4环境下登录后台或者退出后台报错或者显示页面找不到的问题解决
这两个的意思就是把session_register函数给删除掉,因为在php5.4版本中使用$_SESSION[]赋值即可搞定,并且这样一目了然.获取和赋值都很方便易懂。
这样操作之后就会正常的进入到后台去操作,发现都是可以正常的操作的,但是唯一的一个问题就是当我们操作完毕之后点击注销,然后又出现这样的操作了,那么既然之前已经说过了session_unregister()函数这个的意思就是销毁变量的,而在php5.4中不能使用,那么我们只能把这个函数修改为unset进行销毁变量,那么这个时候就需要在include/userlogin.class.php文件中,找到如下代码:

@session_unregister($this->keepUserIDTag);
@session_unregister($this->keepUserTypeTag);
@session_unregister($this->keepUserChannelTag);
@session_unregister($this->keepUserNameTag);
@session_unregister($this->keepUserPurviewTag);

如图5所示:

5 300x223 dedecms在php5.4环境下登录后台或者退出后台报错或者显示页面找不到的问题解决
替换为:

unset($this->keepUserIDTa);
unset($this->keepUserTypeTag);
unset($this->keepUserChannelTa);
unset($this->keepUserNameTag);
unset($this->keepUserPurviewTag);

如图6所示:

6 300x198 dedecms在php5.4环境下登录后台或者退出后台报错或者显示页面找不到的问题解决
点击提交保存之后,刷新果断的正常了。

本文地址:http://www.51php.com/dedecms/25296.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读: