𝕷𝖎𝖑𝖏𝖆𝖈𝖐 发表于 2024-10-6 14:24:56

已经把美文苑网站的帝国CMS7.5升级到兼容php8+了哦

实际很早已经把帝国CMS7.5的数组项加完引号了(帝国默认的是大部分没有的,这样在PHP8会直接终止执行的)!不过也只是能进入后台而已。实际测试发现问题太多了。帝国部分函数不符合规范,又要继续改代码。更为奇葩的是帝国用了大把的count函数。这个需要做个判断,比如这段代码在帝国的核心文件e/class/functions.php里面

回归重点,这个count($votename)会造成网站终止执行操作的哦。那改成这样就又能跑起来了哦。

$count=is_array($votename)?count($votename):0;这是兼容各大php版本的写法。当然也不止这么一处,帝国太多了。太难修改了。小编问问不知道有没有批量操作的方法。
最后就是SQL查询在数据库查询语句中,$cr=$empire->fetch1("select newsclassid,tbname from {$dbtbpre}enewsinfoclass where classid='$add}'");需要修改为$cr=$empire->fetch1("select newsclassid,tbname from {$dbtbpre}enewsinfoclass where classid='{$add['classid']}'");这样帝国的SQL语句太多更难搞了。不过小编在以前的数组项加完引号的基础上,也很快完成帝国的全部文件的修改了哦。百分百完全兼容PHP8+。主要的是全部插件也百分百兼容PHP8+了。等待帝国新版本发布后给升级也更简单更便捷了。上面的只是小编为了帝国7.5兼容PHP8实战的经验。

拾光 发表于 2024-10-6 14:25:24

直接升级最新版

拾光 发表于 2024-10-6 14:26:09

帝国不是要发布新版了么。

浅生 发表于 2024-10-6 14:26:33

还是等帝国8吧

浅生 发表于 2024-10-6 14:26:42

7.5开发的东西太多了!把插件升级到兼容PHP8+的同时顺便把帝国7.5的兼容都升级到PHP8+了哦!目前美文苑已经增加了100多项功能都是靠插件的。

Crystαl 发表于 2024-10-6 14:27:22

等帝国8那也只是升级他的内核而已。而你的模板有用php语法有可能照样报错不能执行。如果还有插件的话那基本插件全部不能使用了也是需要修改兼容PHP8+的

Crystαl 发表于 2024-10-6 14:27:28

蛋疼啊,8.0出来,插件改起来是真的头疼。所以决定老站慢慢升级或者不升级8.0,新站用8.0

婷姐 发表于 2024-10-6 14:27:55

实际7.5也是很不错的!帝国很多功能是用不到的!帝国因为就适合做采集文章类的网站!会员交互类的帝国也是没有的需要开发。

TyCoding 发表于 2024-10-6 14:28:28

页: [1]
查看完整版本: 已经把美文苑网站的帝国CMS7.5升级到兼容php8+了哦

创宇盾启航版免费网站防御网站加速服务