dedecms 在 linux 和 php7 环境下无法正常使用的解决办法

PHP  DedeCMS  

最近折腾 dedecms 5.7 ,在测试环境下没有问题,运行一切正常,上传到服务器上就出现问题了。

测试环境:Win7 32bit、nginx,php 7,mysql 5.7.16 (功能正常)

服务器:CentOS 6.8 64bit、nginx、php 7 (功能不正常,主要表现就是对模版不进行解析。所有本应从数据库获取数据并对模版解析的标签,不进行替换,就直接输出标签)

主要问题现象

  1. 前台直接显示模板

  2. 后台文章列表没有标题

  3. 采集测试提示目标网址不能访问 ->没有测试采集


本以为是文件权限或者php禁用的函数导致的问题,但是设置为777权限后,还是不正常。

跟踪过后执行的代码后,发现模版缓存里的内容不正常,本应存有缓存数组的文件都是空的。


网上搜了一通,都是dedecms 与 php5.4 因为session而出现的老问题,但是功夫不负有心人,终于让我看到有人解决了这个问题。

原来是定义类成员变量的时候,定义成了字符串类型,没有定义成数组类型,导致后面无法正常执行。


原文标题:dede在php7上空白

转自:http://www.cnblogs.com/lovelp/p/6245444.html

以下是博主原文:


最近想看一本小说,想采集回来看,结果发现除了dedecms支持php7.0,其他主流cms基本上都不支持php7.0


在本地win7上调试了一遍,没有问题,放到linux服务器上的时候,发现打开任何页面都是空白。于是开始找问题,修复。


1、对比

    win7上 wamp,所有功能全部正常!


    centos7 lanmp 打开任何一个页面都是空白页面


2、分析

    a、设置777的权限后,还是照旧,排除权限问题


    b、关掉错误屏蔽,全新安装dedecms,可以正常安装(dede已经更新了mysqli类),只是有2个问题:


        1)、后台左侧菜单空白


        2)、前台直接把默认模板原样输出来了,没有解析


    c、结论:可能是windows和linux差异导致同样的代码执行结果不同导致,比如大小写、数据类型判断之类的


3、解决问题

    直接由首页一直跟踪,折腾了大半天终于把问题找出来了,作者定义类成员变量的时候,没有定义成数组,导致后面无法正常执行。


    期间出现的问题主要有3个:


    1、前台直接显示模板


    2、后台文章列表没有标题


    3、采集测试提示目标网址不能访问


时间:2017年03月30日    作者:孟德    分类:后端   浏览:3010    评论:0

链接地址:https://www.abclogs.com/backend_php7_dedecms_resolve.html