PHP5.4版本中Dedecms后台登录出现空白如何解决

  介绍

今天就跟大家聊聊有关PHP5.4版本中Dedecms后台登录出现空白如何解决,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。

把PHP的版本从5.2.14升到了5.4.15,升级完后Dedecms后台却打开空白,检查了各种权限和文件,都没有问题,找来找去,原来是PHP版本函数的问题,它是用session_register来注册一个会话变量,但是在PHP5.4以上中已经移除了这个功能
<强>解决办法:
找到包括/userlogin.class.php,里面有一个keepuser()函数,它是用session_register来注册一个会话变量,但是在PHP5.4中已经移除了这个功能,见官网介绍:

 PHP5.4版本中Dedecms后台登录出现空白如何解决

如果使用的该PHP版本肯定会出错的,不过我们可以修改下代码:
把@session_register ($ this→keepUserIDTag);注释掉,然后改为
<强>如果(!收取(_SESSION美元($ this→keepUserIDTag]))
一共有六个,全部改为下面这样:

if (!收取(_SESSION美元($ this→keepUserIDTag])),//@session_register ($ this→keepUserIDTag),,   ,   $ _SESSION [$ this→keepUserIDTag],=, $ this→userID,,   ,   if (!收取(_SESSION美元($ this→keepUserTypeTag])),//@session_register ($ this→keepUserTypeTag),,   ,   $ _SESSION [$ this→keepUserTypeTag],=, $ this→userType;,   ,   if (!收取(_SESSION美元($ this→keepUserChannelTag])),//@session_register ($ this→keepUserChannelTag),,   ,   $ _SESSION [$ this→keepUserChannelTag],=, $ this→userChannel;,   ,   if (!收取(_SESSION美元($ this→keepUserNameTag])),//@session_register ($ this→keepUserNameTag),,   ,   $ _SESSION [$ this→keepUserNameTag],=, $ this→用户名,,   ,   if (!收取(_SESSION美元($ this→keepUserPurviewTag])),//@session_register ($ this→keepUserPurviewTag),,   ,   $ _SESSION [$ this→keepUserPurviewTag],=, $ this→userPurview;,   ,   if (!收取(_SESSION美元($ this→keepAdminStyleTag])),//@session_register ($ this→keepAdminStyleTag),,   ,   $ _SESSION [$ this→keepAdminStyleTag],=, adminstyle美元;

重新进入后台登录,就可以正常跳转到管理页面了。
因为对PHP并不熟,网上一般都说是数据/common.inc.php文件编码的问题,把编码要改为无BOM格式文件保存,居然没有说是php5.4版本的问题
<强>另外一种方法:
在包括/帮助/util.helper。php末尾加入以下代码

function  fix_session_register () {,,   function 才能;session_register () {,,   ,,,args 美元;=,func_get_args ();,,   ,,,foreach  (args 美元;as 关键美元){,,   ,,,,,$ _SESSION [$ key]=$全局变量($ key),,,   ,,,},,   ,,},   function 才能session_is_registered(键){,,   ,,,return 收取($ _SESSION [$ key]);,,   ,,},   function 才能session_unregister(键){,,   ,,,设置($ _SESSION [$ key]);,,   ,,},   },,   if  (! function_exists (& # 39; session_register& # 39;)), fix_session_register ();

看完上述内容,你们对PHP5.4版本中Dedecms后台登录出现空白如何解决有进一步的了解吗?如果还想了解更多知识或者相关内容,请关注行业资讯频道,感谢大家的支持。

PHP5.4版本中Dedecms后台登录出现空白如何解决