查看文章
dedecms登录后页面显示空白的原因及处理办法

在一台Linux服务器,PHP版本为5.6.1的环境下安装完dedecms,输入账号密码登录后台后页面显示为空白,且无任何提示。

经查看,error_reporting 已经设置为 E_ALL(表示PHP在出错时提示错误),且服务器php.ini中display_errors已经被配置为On (表示开启错误提示),且在登录后页面显示为空白,说明PHP程序执行出错,但错误被屏蔽,最常见的原因就是使用了不存在的PHP内致函数并且使用@符号将错误屏蔽。

经debug跟踪测试,找到错误点在 include/userlogin.class.php 文件。

首先看行288,使用了 @session_register 语句。

在PHP5.6.1等新版本PHP中,session_register 函数已经被弃用删除,PHP在执行到时时,应该提示 Fatal error: Call to undefined function session_register() 错误。但是该函数前有一@符号,表示忽略该错误,不显示错误信息到网站页面。然而PHP执行至此错误时,便停止执行下面的语句,并停止输出,所以页面显示为空白。

解决办法:

注释或删除 所有 @session_register 所在行即可,该函数在新版本PHP程序中并不需要使用。

 

 

天翼云主机
香港云主机