php7织梦后台空白,dedecms在php7下的使用,織夢dedecsm后台一片空白的解決方法

前幾天,

一個老客戶,

最近升級了服務器,

php到php7,

把織夢dedecms轉移到新服務器后,

不能登錄后台,

讓幫忙看一下。

我看了下他們的網站,

使用的是織夢V57_UTF8_SP1

前台頁面是可以訪問的,

是因為他們的dedecms生成了html靜態頁面。

但是輸入織夢后台登錄網址,

出現一片空白,

什么都沒有。

47fd1cc381a27ddabb8ef6b9dc331d07.jpe

織夢dedecms后台

主要原因是dedecms是很多年以前開發的,

都是基本php4,5時代的特性,

現在的php7跟以前的版本相比,

性能提升了很多,

但是很多代碼也進行了修改,

導致不兼容以前的部分php代碼。

下面講一下怎么解決這個升級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);

主要作用是打開錯誤提示。

68444a2850720401759eb6044f057d0f.jpe

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;

即可

0f53946bac3e9f0736c2a14c542b82f4.jpe

織夢最新版本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也是這樣設置的。

19112530c9183ee43cce858400bf8278.jpe

織夢最新版本mysql_type類型

通過上面三步,

舊的dedecms就能在php7上使用,

可以正常登錄后台了。

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

看了下這個版本的織夢源代碼,

應該是支持php7的,

你也可以把織夢升級到最新的版本,

前面3步就可以省略了。

2018年1月27日更新

可能是客戶系統環境的原因,

升級到DedeCMS-V5.7-UTF8-SP2,

編輯和發布文章時,

也是好多問題,

使用dedecms織夢系統的朋友,

把php升級到7一定要慎重。

08e392cf521346476b4ec0166577bb53.jpe

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值