让php7支持老版本的帝国cms

作者

一个朋友的网站,需要更换空间。遇到一些问题总结了一下。程序是帝国的cms, 原来的环境是php5。更换成php7后遇到了两点问题。

第一个问题 程序的语法问题

Parse error: syntax error, unexpected end of file in /e/class/adminfun.php on line 292

解决的方法
修改配置文件 php.ini

short_open_tag = On

第二问题,函数不支持的问题

因为php7已经放弃了对mysql_x支持。更换成了mysqli_x

可以在e/config/config.php添加以下函数

$mysqli = null;

if(!function_exists('mysql_connect')){
    function mysql_connect(){
        global $mysqli;

        #$mysqli = mysqli_connect("$dbhost:$dbport", $dbuser, $dbpass, $dbname);
        $mysqli = mysqli_connect("", "", '', "");


        return $mysqli;
    }
    function mysql_select_db($dbname){
        global $mysqli;
        return mysqli_select_db($mysqli,$dbname);
    }
    function mysql_fetch_array($result){
        return mysqli_fetch_array($result);
    }
    function mysql_fetch_assoc($result){
        return mysqli_fetch_assoc($result);
    }
    function mysql_fetch_row($result){
        return mysqli_fetch_row($result);
    }
    function mysql_query($query){
        global $mysqli;
        return mysqli_query($mysqli,$query);
    }
  function mysql_escape_string($data){
        global $mysqli;
        return mysqli_real_escape_string($mysqli, $data);
    }
    function mysql_real_escape_string($data){
        return mysql_real_escape_string($data);
    }
    function mysql_close(){
        global $mysqli;
        return mysqli_close($mysqli);
    }

    function mysql_num_rows(){
        global $mysqli;
        return @mysqli_num_rows($mysqli);
    }
}

回复

邮箱地址不会被公开。