打开php显示500,DEDECMS的tags.php打开空白显示500错误的解决方法

本文介绍了在升级PHP环境至5.5版本后,DedeCMS后台出现500错误的问题。该问题是由于PHP5.4及以上版本废弃了session_register函数导致的。解决方法是修改include/userlogin.class.php文件,将session_register替换为使用$_SESSION数组的方式。通过这种方式,可以解决DedeCMS在高版本PHP上的兼容性问题。
摘要由CSDN通过智能技术生成

这篇文章主要介绍了DedeCMS不支持PHP5.3、5.4及以上版本后台500错误白屏的解决方法,需要的朋友可以参考下

今天把系统换成了windows server 2008 r2 同时将PHP环境提升至PHP5.5版本,测试PHPinfo的时候一点问题都没有,但是登陆dede后台却显示500错误,这应该怎么解决呢?百度了一下发现dede不支持PHP5.3、PHP5.4及以上版本了,主要原为是php5.4的版本废除了session_register函数

可以采用如$_SESSION[$this->keepUserIDTag] = $this->userID;

这种方式处理完整代码如下

首先打开 include/userlogin.class.php这个文件,在287行到308行原内容如下:

代码如下:

@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, ‘/’);

替换成

代码如下:

if(empty($adminstyle)) $adminstyle = ‘dedecms’;

//@session_register($this->keepUserIDTag);

$_SESSION[$this->keepUserIDTag] = $this->keepUserIDTag;

$_SESSION[$this->keepUserIDTag] = $this->userID;

//@session_register($this->keepUserTypeTag);

$_SESSION[$this->keepUserTypeTag] = $this->keepUserTypeTag;

$_SESSION[$this->keepUserTypeTag] = $this->userType;

// @session_register($this->keepUserChannelTag);

$_SESSION[$this->keepUserChannelTag] = $this->keepUserChannelTag;

$_SESSION[$this->keepUserChannelTag] = $this->userChannel;

//@session_register($this->keepUserNameTag);

$_SESSION[$this->keepUserNameTag] = $this->keepUserNameTag;

$_SESSION[$this->keepUserNameTag] = $this->userName;

//@session_register($this->keepUserPurviewTag);

$_SESSION[$this->keepUserPurviewTag] = $this->keepUserPurviewTag;

$_SESSION[$this->keepUserPurviewTag] = $this->userPurview;

// @session_register($this->keepAdminStyleTag);

$_SESSION[$this->keepAdminStyleTag] = $this->keepAdminStyleTag;

$_SESSION[$this->keepAdminStyleTag] = $adminstyle;

PutCookie(‘DedeUserID’, $this->userID, 3600 * 24, ‘/’);

PutCookie(‘DedeLoginTime’, time(), 3600 * 24, ‘/’);

另外看到一篇文章也发出来给大家看看

php5.4 dedecms后台登录之后显示500错误解决方法

重新安装了系统后,安装了新版的Dedecms 5.7

SP1,安装都很正常,解决安装后登录后台却发现500错误,却没提示什么错误。重新配置了php环境还是不行,实在是没办法了。

上网搜索了N遍也没发现有解决的办法,后来偶然发现有人提到DedeCMS与PHP版本兼容的问题,于是思考是不是PHP版本是不是太高了呢?

我使用的是:

- PHP 5.4.8

- fcgisetup 1.5

- DedeCMS V5.7 SP1

- MySQL

于是,我重新下载了PHP

5.3.13版本,替换了之前的5.4.8版。解决发现DedeCMS正常了!原来真的是DedeCMS与PHP高版本不兼容的问题。

网上有人说是PHP 5.4已经启用了session_register()方法,造成了此函数不可用。也提供了解决的办法,但是还是等dede升级吧。

以上内容转自网络,本站暂时还未求证.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值