前几天,
一个老客户,
最近升级了服务器,
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. 数组去重+indexOf()应用

    说起数组去重大家都不陌生,去重也有好多种方法,这里介绍很好理解的两种. 第一种 首先说一下第一种的逻辑,就是先拿第一个去跟第二个比,再跟第三个比,再跟第四个比--只要发现有相等的,可以用splice( ...

  2. System.Transactions 事务超时属性

    最近遇到一个处理较多数据的大事务,当进行至10分钟左右时,爆出事务超时异常,如果Machine.config中不设置最大超时时间,则默认超时时间为10分钟 MachineSettingsSection ...

  3. Javascript中prototype属性

    prototype作为JS相对比较难理解的一个知识点,在这里发表下自己的理解. 本文将包含以下几部分内容: 1.js prototype的简单介绍, 2.js构造函数的介绍, 3.prototype的 ...

  4. 分布式缓存之Ehcache与terracotta - Terracotta服务器概念篇

    1.介绍 Terracotta服务器为Terracotta产品提供分布式数据平台.Terracotta服务器集群被称为Terracotta服务器阵列(TSA).Terracotta服务器阵列可以从单个 ...

  5. TFboy养成记 tensor shape到底怎么说

    tensor.shape 对于一位向量,其形式为[x,] 对于矩阵,二维矩阵[x,y],三维矩阵[x,y,z] 对于标量,也就是0.3*x这种0.3,表示形式为() 如果说这个矩阵是三维的,你想获得其 ...

  6. python3.6+linux服务器+django1.11连接MYSQL数据库

    1.django创建一个项目,在项目的settings.py中配置Mysql DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysq ...

  7. 运行时动态库:not found 及介绍-linux的-Wl,-rpath命令

    ---此文章同步自我的CSDN博客--- 一.运行时动态库:not found   今天在使用linux编写c/c++程序时,需要用到第三方的动态库文件.刚开始编译完后,运行提示找不到动态库文件.我就 ...

  8. Nginx负载均衡使用ip

    upstream test1{ server 192.168.1.213; server 192.168.1.37; } server { listen 80; # default backlog=2 ...

  9. js(jquery)绑定点击事件

    <button type="submit" id="test">test</button> 第一种 $("#test" ...

  10. Linux 编程--三种常用的定时器

    这节我们来探讨一下linux开发过程中常用的定时器,尤其在网络编程中被常常用到如heartbeat,断线重连等等.这里提供了三种定时器的方案,分别是链表形式的计时器,环型计时器,最小堆计时器.每个都有 ...