去评论
dz插件网

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

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

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

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