天天看点

dedecms 5.7sp2 20170405运行PHP7.1的大坑(dedecms PHP7.1)

今天一个小站用了dedecms最新版,也就是5.7SP220170405版,(见下图)

dedecms 5.7sp2 20170405运行PHP7.1的大坑(dedecms PHP7.1)

点进去到下载页面下载,用了UTF8版本的。(见下图)

dedecms 5.7sp2 20170405运行PHP7.1的大坑(dedecms PHP7.1)

下载完成后,自己新开发了一套模板,听说PHP7.1性能提升了不少,就决定用PHP7.1部署。网站上线后,在PHP5.6下面,完全正常,但服务器PHP切换到7.1,头和尾部都不能正常显示。这里就是再说是哪个网站了,也不发截图了。

会是什么原因呢?那肯定是不支持7.1呗,但看了最新的2017年04月05日的补丁明细,明明是支持PHP7.1了的。(下图)

dedecms 5.7sp2 20170405运行PHP7.1的大坑(dedecms PHP7.1)

这是怎么回事。于是打开PHP调试,倒是没有看到错误提示,看到一大堆waring,其中发现有dedetag.class.php,索性打开这个文件(这次打开的不是完全包,是补丁包,里面就这4个文件),和0405的完全包里的dedetag.class.php对比发现,补丁包里的文件比整体安装包里的文件,多几行代码:(如下图中的286行代码,整体安装包里面没有这个代码)

dedecms 5.7sp2 20170405运行PHP7.1的大坑(dedecms PHP7.1)

于是果断两个文件对比了下,把多的几行代码拷贝到整体安装包里。然后上传,更新全站,整个网站在PHP7.1下唰唰的跑了起来,速度增加明显。

dedecms 5.7sp2 20170405运行PHP7.1的大坑(dedecms PHP7.1)

再看下对应的整体安装包里的dedetag.class.php文件,修改日期为2017/4/5 17:00,和其它三个文件时间相同。

这下终于明白了,估计是dede开发人员在17:00发布了包以后,发现问题,于是就又改了补丁包发布,但是整体安装包里就没有改,或许是懒得改了吧,dede用的这么多,也没人交费,估计是心灰意冷了。

不管怎么样,还是要感谢DEDECMS,这么优秀的产品,不管别人说他有多少bug,个人觉得做好防护,用着还是很不错的。

以上内容由郑州画册设计 https://huace.cnchuangyigu.com发布,感谢。转载请保留。

继续阅读