海薇站长网 - 让网站建设、优化、维护从此简单!

海薇站长网

当前位置: 海薇站长网 > CMS教程 > 织梦cms系统在PHP7.0以上环境下内容页为空怎么办

织梦cms系统在PHP7.0以上环境下内容页为空怎么办

时间:2020-06-20 22:24:58来源:CMS教程网 作者:365天天网 点击:
查看了源码,原来是此处没有调用成功,在网上查询一番得知,织梦对PHP5.4以上版本的支持都不行,很多地方都要修改,而今天要做的就是在解决在PHP7.0及以上版本环境下文章页空白的Bug。

织梦升级php7解决{dede:field.body/}不解析dede:field.body失效,文章内容不显示

最近在捣腾阿里云服务器,发现把php版本升级到7.0之后,其他地方都是正常的,而文章页详情部分是一篇空白,查看了源码,原来是此处没有调用成功,在网上查询一番得知,织梦对PHP5.4以上版本的支持都不行,很多地方都要修改,而今天要做的就是在解决在PHP7.0及以上版本环境下文章页空白的Bug。

dede升级php7后发布文章后,发现前端显示的文章内容都是空白,只能显示标题、关键词、描述等

网上方法是

是把{dede:field.body /}删除,使用 下面的sql 标签代码替换

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

[field:body/]

{/dede:sql}

还有其他的几种,也可以介绍下:

其实很简单,只需要重写下调用语法即可,余斗推荐三种方法:

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

{dede:sql sql="Select body from `dede_addonarticle` where aid=~id~"} [field:body function='replaceurl(@me)'/]{/dede:sql}

{dede:field.id function='replaceurl(table("dede_addonarticle","body",@me))'/}

以上三种调用标签代码选其一即可!

但是我觉得太麻烦,找了最新版的织梦对比了如下文件:

/include/arc.archives.class.php

织梦cms系统在PHP7.0以上环境下内容页为空怎么办_www.hwsem.com

加如下黄色代码即可解决,可以正常调用 {dede:field.body/}

第1231行:

// 这里可能会有错误

if (version_compare(PHP_VERSION, '5.5.0', '>='))

{

$body = @preg_replace_callback("#(^|>)([^<]+)(?=<|$)#su else="" body="@preg_replace("#(^|">)([^<]+)(?=<|$)#sUe", "_highlight('\2', $karr, $kaarr, '\1')", $body);

}

第1250行:

if (version_compare(PHP_VERSION, '5.5.0', '>='))

{

$string = $string[0];

$pre = $pre[0];

}

你的行数可能不一致。搜汉字可以找到对应位置。

(责任编辑:海薇站长网)
顶一下
(0)
0%
踩一下
(0)
0%
------分隔线----------------------------
------分隔线----------------------------
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
评价:
表情:
用户名: 验证码:点击我更换图片
推荐内容
图文推荐