帝国CMS7.2支持php7的操作方法


php7.0版本及以上版本对php性能有了很大的提升,性能提升度较php5.6高了两倍。可是我们知道帝国CMS7.2是不支持php7版本的,很多帝国CMS老用户在使用帝国CMS7.2建站多年,并且网站又有了一定的规模,想要升级7.5版本,可能会因为数据量大的问题或者是当中做了很多二次开发,不想再升级但是又想着使用高版本的php来提高网站性能,这个该如何操作呢,以下是我的实操记录,不会的可以直接下载附件覆盖即可。

一、下载帝国CMS7.5版本,解压出来,然后打开/e/class/目录,复制/e/class/db/目录上传至自己网站的 /e/class/目录

二、打开/e/class/connect.php 文件 搜索 "//超时设置",在上面加上如下代码

if($ecms_config['sets']['webdebug']==0)
{
    error_reporting(0);
}

三、打开/e/class/connect.php 文件 搜索“//禁止IP”在上面加上如下代码

if($ecms_config['db']['usedb']=='mysqli')
{
   include(ECMS_PATH.'e/class/db/db_mysqli.php');
}
else
{
   include(ECMS_PATH.'e/class/db/db_mysql.php');
}

四、依然是/e/class/connect.php 文件 搜索“//--------------- 数据库 ---------------”一直到 "//--------------- 公共 ---------------" 将这个区域的代码替换如下代码:

function db_connect(){
    global $ecms_config;
    $dblink=do_dbconnect($ecms_config['db']['dbserver'],$ecms_config['db']['dbport'],$ecms_config['db']['dbusername'],$ecms_config['db']['dbpassword'],$ecms_config['db']['dbname']);
    return $dblink;
}

function return_dblink($query){
    $dblink=$GLOBALS['link'];
    return $dblink;
}

//设置编码
function DoSetDbChar($dbchar){
    global $link;
    if($dbchar&&$dbchar!='auto')
    {
        do_DoSetDbChar($dbchar,$link);
    }
}

function db_close(){
    global $link;
    do_dbclose($link);
}

五、打开/e/class/db_sql.php 将里面的代码清空

六、将/e/config/config.php 中的 $ecms_config['db']['usedb']='mysql';    修改成 $ecms_config['db']['usedb']='mysqli'; 

七、将/e/admin/main.php <? echo @mysql_get_server_info();?> 替换成 
<? echo do_eGetDBVer(0);?>