腾轩网 - 专注优质QQ活动-绿色软件-游戏辅助-技术教程分享网!

kqqkqq

流量
优惠券极风优惠券极风
流量
mtw

如何让帝国CMS系统支持PHP8运行环境?帝国CMS适配PHP8境方法教程

腾轩网 其它教程
扫码手机访问如何让帝国CMS系统支持PHP8运行环境?帝国CMS适配PHP8境方法教程
0

教程介绍

使用帝国CMS系统是一款很不错的国产CMS系统,但是只有帝国CMS8.0才支持PHP8*,因为PHP8版本对PHP改动很大,并且对变量定义、函数参数要求更严格,去掉了部分函数等。虽然帝国CMS8.0新增对PHP8.*系列运行环境的支持,兼容性更好。但是依然有很大一部分站长在使用帝国CMS7.5以及以下版本,然而目前的帝国CMS7.5版本只支持PHP8以下运行环境。

适配教程

那么我们如何让我们帝国CMS8.0以下的版本支持PHP8*环境呢?那么我们如何解决这个问题呢?下面分享一个帝国兼容php8的兼容写法,比如帝国源代码,connect.php核心文件的某函数:

ActionScript

//返回ID列表
function eReturnInids($ids){
        if(empty($ids))
        {
                return 0;
        }
        $dh='';
        $retids='';
        $r=explode(',',$ids);
        $count=count($r);
        for($i=0;$i<$count;$i++)
        {
                $id=(int)$r[$i];
                if(!$id)
                {
                        continue;
                }
                $retids.=$dh.$id;
                $dh=',';
        }
        if(empty($retids))
        {
                return 0;
        }
        return $retids;
}

如果在php8+以上,不是数组而产生的错误或警告,甚至某些地方会终止执行。那怎么改呢。其实很简单的,那我们自定义一个函数写到connect.php文件最尾部。自定义函数如下:

ActionScript

function php8_count($a){
return is_array($a)?count($a):0;
}

那帝国的源代码就可以改为:

ActionScript

//返回ID列表
function eReturnInids($ids){
        if(empty($ids))
        {
                return 0;
        }
        $dh='';
        $retids='';
        $r=explode(',',$ids);
        $count=php8_count($r);
        for($i=0;$i<$count;$i++)
        {
                $id=(int)$r[$i];
                if(!$id)
                {
                        continue;
                }
                $retids.=$dh.$id;
                $dh=',';
        }
        if(empty($retids))
        {
                return 0;
        }
        return $retids;
}

其实也是很简单的,帝国这样的函数没有判断是不是数组的太多了,只是举例某一个函数作为说明。在实际操作的过程中,可能需要根据错误提示逐一进行排查!

当然,本文只是一种实现思路,如果手动来改,也是一个不小的工作量,而且还需要一定的动手能力和PHP知识,我们不如直接等待官网更新,使用帝国CMS8.0,虽然不知道啥时候才有这种可能!

以上本篇文章的全部内容了,感兴趣的小伙伴可以看看,更多精彩内容关注腾轩网www.tengxuanw.com

标签:

暂无标签
    协助本站seo优化一下,谢谢!
    关键词不能为空

免责声明:

本站提供的资源,都来自网络,版权争议与本站无关,所有内容及软件的文章仅限用于学习和研究目的。不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负,我们不保证内容的长久可用性,通过使用本站内容随之而来的风险与本站无关,您必须在下载后的24个小时之内,从您的电脑/手机中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。侵删请致信E-mail: 571533527@qq.com

同类推荐
分享
发布评论

微信公众号

热门文章
随机推荐
其它教程 如何让帝国CMS系统支持PHP8运行环境?帝国CMS适配PHP8境方法教程
教程介绍 使用帝国CMS系统是一款很不错的国产CMS系统,但是只有帝国CMS8.0才支持PHP8*,因为PHP8版本对PHP改动很大,并且对变...
扫描二维码阅读原文
腾轩网 January, 01
生成完成 ×