前几天,
一个老客户,
最近升级了服务器,
php到php7,
把织梦dedecms转移到新服务器后,
不能登录后台,
让帮忙看一下。

我看了下他们的网站,
使用的是织梦V57_UTF8_SP1
前台页面是可以访问的,
是因为他们的dedecms生成了html静态页面。

但是输入织梦后台登录网址,
出现一片空白,
什么都没有。

织梦dedecms后台

主要原因是dedecms是很多年以前开发的,
都是基本php4,5时代的特性,
现在的php7跟以前的版本相比,
性能提升了很多,
但是很多代码也进行了修改,
导致不兼容以前的部分php代码。

猛击这里
了解《升级安装php7要考虑的3个方面

下面讲一下怎么解决这个升级php7的一系列问题。

以下操作的目录和文件,
都是相对你安装dedecms的目录

一、 打开错误信息

一片空白是无法调试的,
所以要做的第一件事,
能够输出错误信息。

打开 include/common.inc.php
找到下面的代码
//error_reporting(E_ALL);
error_reporting(E_ALL || ~E_NOTICE);

改为
error_reporting(E_ALL);
//error_reporting(E_ALL || ~E_NOTICE);
主要作用是打开错误提示。

php错误提示

这样再刷新后台,
就会有错误提示了。

解决了织梦后台空白问题后,
你再改过来就行。

二、 ‘continue’ not in the ‘loop’ or ‘switch’ context错误

你刷新后可能遇到这个错误

Fatal error: ‘continue’ not in the ‘loop’ or ‘switch’ context in ….include/common.func.php on line 49

上面表示include/common.func.php 这个文件的49行有错误,
把 continue; 删除
改为 return;
即可

织梦最新版本helper_function代码

最新版的织梦DedeCMS-V5.7-UTF8-SP2已经把这个错误修改过来。

三、 函数mysql_query()未定义

mysql_*的系列函数在php7中不能再使用,
会出现下面的错误
Fatal error: Uncaught Error: Call to undefined function mysql_query() in ….include/dedesql.class.php:152

php7中需要使用mysqli或者pdo的方式,
跟数据库通信,
更安全更高效。

解决的方法
打开文件 data/config.cache.inc.php
$cfg_mysql_type = ‘mysql’;
改为
$cfg_mysql_type = ‘mysqli’;

最新版的织梦DedeCMS-V5.7-UTF8-SP2也是这样设置的。

织梦最新版本mysql_type类型

通过上面三步,
旧的dedecms就能在php7上使用,
可以正常登录后台了。

四、 升级到最新的DedeCMS-V5.7-UTF8-SP2

看了下这个版本的织梦源代码,
应该是支持php7的,
你也可以把织梦升级到最新的版本,

前面3步就可以省略了。

dedecms在php7下的使用方法,织梦dedecsm后台一片空白的解决方法的更多相关文章

  1. dedecms织梦系统后台验证码图片不显示的解决方法

    网站迁移后,dedecms织梦系统后台验证码图片不显示的解决方法通用解决方案-取消后台验证码功能因为没有验证码,不能进后台,所以修改php文件源代码:方法一:打开dede/login.php 找到如下 ...

  2. windows 7 下安装 IIS 和 ArcGis Server 9.3 遇到的问题及解决方法

    windows 7 下安装 IIS 和 ArcGis Server 9.3 遇到的问题及解决方法 分类: ArcGIS server 计算机2012-07-31 14:17 631人阅读 评论(0)  ...

  3. 排错-windows平台下访问oracle em出现空白的解决方法

    排错-windows平台下访问oracle em出现空白的解决方法 by:授客 QQ:1033553122 问题描述 IE浏览器本地访问oem,出现空白页面,就左上角有一行字符 http://loca ...

  4. Dede织梦验证码不显示,织梦后台登陆验证码不显示解决方法

    关于"织梦验证码不显示"的解决方法 "织梦验证码无法显示出来"的问题分析? 1.之前显示正常,但是换了服务器后就不能够正常显示:(这种通常是网站程序经过迁移后所 ...

  5. Windows10 下 github ssh 访问出现 Permission denied(publickey)错误的解决方法

    Windows10 下 github ssh 访问出现 Permission denied(publickey)错误的解决方法. 错误信息: git clone git@github.com:ediw ...

  6. dedecms添加文章时提示标题为空,编辑文章时编辑器空白的解决办法

    dedecms添加文章时提示标题为空,编辑文章时编辑器空白的解决办法 dedecms出现这个问题与代码无关,主要是和PHP的版本有关,用的PHP5.4,更换成PHP5.2之后就不会有这个问题了. 问题 ...

  7. 织梦dedecms移动版设置二级域名的方法 织梦如何设置m.开头的域名

    dedecms/' target='_blank'>织梦dedecms建站系统自从2015.06.18号升级后,系统增加了最强的手机站功能,模板与PC模板分开,标签90%类似,数据同步,很牛很强 ...

  8. Dedecms织梦搜索页显示条数的更改方法

    织梦dedecms搜索结果页面的显示条数默认是10条,这个数值在模板当中是不能控制的. 解决方法: 打开根目录下的plus文件夹,找到search.php修改一段代码: 在大概第15行,找到 $ pa ...

  9. 织梦DedeCMS删除所有栏目或文章后,新建ID不从1开始的解决方法

    这个修改方法很简单,从模板无忧那里找到的,只需要在后台系统-SQL命令行工具里面运行以下语句即可,不用采用笨方法重新安装织梦CMS了. 删除所有栏目,新建ID从1开始: ALTER TABLE `de ...

随机推荐

  1. JS--我发现,原来你是这样的JS:面向对象编程OOP[2]--(创建你的那个对象吧)

    一.介绍 我们继续面向对象吧,这次是面向对象编程的第二篇,主要是讲创建对象的模式,希望大家能从博客中学到东西. 时间过得很快,还是不断的学习吧,为了自己的目标. 二.创建对象 1.前面的创建对象方式 ...

  2. python进阶------进程线程(五)

    Python中的IO模型 同步(synchronous) IO和异步(asynchronous) IO,阻塞(blocking) IO和非阻塞(non-blocking)IO分别是什么,到底有什么区别 ...

  3. 前端使用d3.js调用地图api 进行数据可视化

    前段时间自己研究了demo就是把某个区域的某个位置通过经纬度在地图上可视化.其实就是使用了第三方插件,比现在比较火的可视化插件d3.js echart.js.大致思路就是,把要用到的位置的geojso ...

  4. Python Base64 编码

    0x00 Base64简介 0x01 常用场景举例 0x02 编.解码流程 0x03 Python中Base64编码与解码 0x00 Base64简介 我们知道在计算机中任何数据都是按ascii码存储 ...

  5. [react] React 新手必须知道的 N 件事

    尽量用 props & onChange,不要用 ref 获取引用然后调用方法.详情参考我的文章:一等公民 props & onChange React 只是一个视图框架,请尽量在 C ...

  6. spring cloud feign不支持@RequestBody+ RequestMethod.GET,报错

    1.问题梳理: 异常:org.springframework.web.HttpRequestMethodNotSupportedException: Request method 'POST' not ...

  7. OC中只有重写没有重载

    一.类的继承 Objective-c中类的继承与C++类似,不同的是Objective-c不支持多重继承,一个类只能有一个父类,单继承使Objective-c的继承关系很简单,易于管理程序. 二.方法 ...

  8. shell,bash,zsh,console,terminal到底是什么意思,它们之间又是什么关系?

    原文链接 终端(terminal,或者叫物理终端):是一种设备,不是一个程序,一般说的就是能提供命令行用户界面的设备,典型的是屏幕和键盘,或其他的一些物理终端.虚拟终端:屏幕和键盘只是一个终端,可能不 ...

  9. Django学习(2)数据宝库

    数据库是一所大宝库,藏着各种宝贝.一个没有数据库的网站,功能有限.在Django中,支持的数据库有以下四种: SQLite3 MySQL PostgreSQL Oracle 其中SQLite3为Dja ...

  10. JavaScript内置的预定义函数

    javascript引擎中有一组可供随时调用的内建函数.这些内建函数包括 parseInt()  将收到的任何输入值转换成整数类型输出,如果转换失败,返回NaN parseFloat() 功能基本与p ...