织梦dedecms5.7升级到php7遇到一些问题的解决方法

目前织梦dedecms5.7基本上用的PHP版本是PHP5.4或者PHP5.6,要是使用php以上,网站运行就会出现问题,下边收集了一些相关的解决方法,希望对大家有所帮助。ps:没事还是不要升级PHP7了。

1、{dede:field.body/}不解析

文章正文调用标签{dede:field.body/}失效,结果文章内容不显示。文章源自SEO视频网-https://www.seoshipin.cn/jianzhan/dedecms/3767.html

解决方法一:文章源自SEO视频网-https://www.seoshipin.cn/jianzhan/dedecms/3767.html

{dede:field.body /}使用 下面的sql 标签代码替换:文章源自SEO视频网-https://www.seoshipin.cn/jianzhan/dedecms/3767.html

{dede:sql sql="Select body from `dede_addonarticle` where aid=~id~"} 
[field:body/] 
{/dede:sql}

方法二:修改文件 /include/arc.archives.class.php文章源自SEO视频网-https://www.seoshipin.cn/jianzhan/dedecms/3767.html

织梦dedecms5.7升级到php7遇到一些问题的解决方法文章源自SEO视频网-https://www.seoshipin.cn/jianzhan/dedecms/3767.html

 文章源自SEO视频网-https://www.seoshipin.cn/jianzhan/dedecms/3767.html

第1231行:文章源自SEO视频网-https://www.seoshipin.cn/jianzhan/dedecms/3767.html

// 这里可能会有错误 
if (version_compare(PHP_VERSION, '5.5.0', '>='))
        {
            $body = @preg_replace_callback("#(^|>)([^<]+)(?=<|$)#sU", "_highlight('\\2', \$karr, \$kaarr, '\\1')", $body);
        } else {
            $body = @preg_replace("#(^|>)([^<]+)(?=<|$)#sUe", "_highlight('\\2', \$karr, \$kaarr, '\\1')", $body);
        }

第1250行:文章源自SEO视频网-https://www.seoshipin.cn/jianzhan/dedecms/3767.html

if (version_compare(PHP_VERSION, '5.5.0', '>='))
    {
        $string = $string[0];
        $pre = $pre[0];
    }

 文章源自SEO视频网-https://www.seoshipin.cn/jianzhan/dedecms/3767.html

2、插件无法安装问题

(1)打开 /include/dedeatt.class.php 找到文章源自SEO视频网-https://www.seoshipin.cn/jianzhan/dedecms/3767.html

var $Items = "";

改成

var $Items = array();

(2)修复安装后右侧模块无显示安装的模块问题,打开 /dede(后台目录)/module_main.php 找到

$sqls = @split(";[ \t]{0,}\n", $setupsql);

改成

$sqls = @preg_split("/;[ \t]{0,}\n/", $setupsql, -1);

完成,这样php7下即可安装,亲测7.3.4下安装正常

 

3、织梦不支持php7.1和7.3版本解决方法

(1)无法获取错误信息,一片空白

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

打开 include/common.inc.php,找到下面的代码

//error_reporting(E_ALL);
error_reporting(E_ALL || ~E_NOTICE);

改为

error_reporting(E_ALL);

//error_reporting(E_ALL || ~E_NOTICE);

主要作用是打开错误提示。

(2)‘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;即可

(3)函数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’;

(4)后台左侧菜单空白不显示解决办法

方法一:

将data目录权限设置为777或者755,注意是整个data目录,设置完毕刷新即可。

方法二:

进入data/tplcache,备份一份,然后除了index.html以外全部删除,接着将data/tplcache目录设置为777,刷新即可。

相关学习:

织梦建站教程

 
  • 本文由 潮涌SEO 发表于 2021年6月15日 20:12:47
  • 转载请务必保留本文链接:https://www.seoshipin.cn/jianzhan/dedecms/3767.html