日本免费精品_最新日韩一区_亚洲视频一区在线_a在线视频观看_天天射夜夜骑_粉嫩av一区二区三区_欧美中日韩免费视频_综合图区欧美_国内精品美女在线观看_午夜精品久久久久久久男人的天堂

首頁 > CMS > Ecshop > 正文

ecshop適應(yīng)在PHP7的修改方法解決報錯的實現(xiàn)

2024-07-09 22:57:05
字體:
供稿:網(wǎng)友

ecshop這個系統(tǒng),到目前也沒見怎么推出新版本,如果是新項目,不太建議使用它。不過,因為我一直以來都在使用中,所以不得不更改讓其適應(yīng)PHP新版本。現(xiàn)在PHP 7已經(jīng)出發(fā)行版了,所以更改來繼續(xù)使用吧。具體的更改有以下方面:

(1)將mysql擴展的使用替換掉,改為使用mysqli或pdo:

從php5.5開始,mysql擴展將廢棄了。

具體更改的文件在于includes/cls_mysql.php。這是個不小的工程,文件代碼太長……

if (!defined('DITAN_ECS')){  die('Hacking attempt');}class cls_mysql{  var $link_id  = NULL;  var $settings  = array();  var $queryCount = 0;  var $queryTime = '';  var $queryLog  = array();  var $max_cache_time = 300; // 最大的緩存時間,以秒為單位  var $cache_data_dir = 'temp/query_caches/';  var $root_path   = '';  var $error_message = array();  var $platform    = '';  var $version    = '';  var $dbhash     = '';  var $starttime   = 0;  var $timeline    = 0;  var $timezone    = 0;  // 事務(wù)指令數(shù)  protected $transTimes = 0;  var $mysql_config_cache_file_time = 0;  var $mysql_disable_cache_tables = array(); // 不允許被緩存的表,遇到將不會進行緩存  function __construct($dbhost, $dbuser, $dbpw, $dbname = '', $charset = 'gbk', $pconnect = 0, $quiet = 0)  {    $this->cls_mysql($dbhost, $dbuser, $dbpw, $dbname, $charset, $pconnect, $quiet);  }  function cls_mysql($dbhost, $dbuser, $dbpw, $dbname = '', $charset = 'gbk', $pconnect = 0, $quiet = 0)  {    if (defined('EC_CHARSET'))    {      $charset = strtolower(str_replace('-', '', EC_CHARSET));    }    if (defined('ROOT_PATH') && !$this->root_path)    {      $this->root_path = ROOT_PATH;    }    if ($quiet)    {      $this->connect($dbhost, $dbuser, $dbpw, $dbname, $charset, $pconnect, $quiet);    }    else    {      $this->settings = array(                  'dbhost'  => $dbhost,                  'dbuser'  => $dbuser,                  'dbpw'   => $dbpw,                  'dbname'  => $dbname,                  'charset' => $charset,                  'pconnect' => $pconnect                  );    }  }  function connect($dbhost, $dbuser, $dbpw, $dbname = '', $charset = 'utf8', $pconnect = 0, $quiet = 0)  {    if ($pconnect)    {      $this->link_id = new mysqli('p:'.$dbhost, $dbuser, $dbpw);      if ($this->link_id->connect_error)      {        if (!$quiet)        {          $this->ErrorMsg("Can't pConnect MySQL Server($dbhost)!");        }        return false;      }    }    else    {      $this->link_id = new mysqli($dbhost, $dbuser, $dbpw);      if ($this->link_id->connect_error)      {        if (!$quiet)        {          $this->ErrorMsg("Can't Connect MySQL Server($dbhost)!");        }        return false;      }    }    $this->dbhash = md5($this->root_path . $dbhost . $dbuser . $dbpw . $dbname);    $this->version = $this->link_id->server_version;    /* 對字符集進行初始化 */    $this->link_id->set_charset($charset);        $this->link_id->query("SET sql_mode=''");    $sqlcache_config_file = $this->root_path . $this->cache_data_dir . 'sqlcache_config_file_' . $this->dbhash . '.php';    @include($sqlcache_config_file);    $this->starttime = time();    if ($this->max_cache_time && $this->starttime > $this->mysql_config_cache_file_time + $this->max_cache_time)    {      if ($dbhost != '.')      {        $result = $this->link_id->query("SHOW VARIABLES LIKE 'basedir'");        $row = $result->fetch_array(MYSQLI_ASSOC);        $result->free();        if (!empty($row['Value']{1}) && $row['Value']{1} == ':' && !empty($row['Value']{2}) && $row['Value']{2} == "/")        {          $this->platform = 'WINDOWS';        }        else        {          $this->platform = 'OTHER';        }      }      else      {        $this->platform = 'WINDOWS';      }      if ($this->platform == 'OTHER' &&        ($dbhost != '.' && strtolower($dbhost) != 'localhost:3306' && $dbhost != '127.0.0.1:3306') ||        date_default_timezone_get() == 'UTC')      {        $result = $this->link_id->query("SELECT UNIX_TIMESTAMP() AS timeline, UNIX_TIMESTAMP('" . date('Y-m-d H:i:s', $this->starttime) . "') AS timezone");        $row = $result->fetch_array(MYSQLI_ASSOC);        $result->free();        if ($dbhost != '.' && strtolower($dbhost) != 'localhost:3306' && $dbhost != '127.0.0.1:3306')        {          $this->timeline = $this->starttime - $row['timeline'];        }        if (date_default_timezone_get() == 'UTC')        {          $this->timezone = $this->starttime - $row['timezone'];        }      }      $content = '<' . "?php/r/n" .            '$this->mysql_config_cache_file_time = ' . $this->starttime . ";/r/n" .            '$this->timeline = ' . $this->timeline . ";/r/n" .            '$this->timezone = ' . $this->timezone . ";/r/n" .            '$this->platform = ' . "'" . $this->platform . "';/r/n?" . '>';      @file_put_contents($sqlcache_config_file, $content);    }    /* 選擇數(shù)據(jù)庫 */    if ($dbname)    {            if ($this->link_id->select_db($dbname) === false )      {        if (!$quiet)        {          $this->ErrorMsg("Can't select MySQL database($dbname)!");        }        return false;      }      else      {        return true;      }    }    else    {      return true;    }  }  function select_database($dbname)  {    return $this->link_id->select_db($dbname);  }  function set_mysql_charset($charset)  {    if (in_array(strtolower($charset), array('gbk', 'big5', 'utf-8', 'utf8')))    {      $charset = str_replace('-', '', $charset);    }    $this->link_id->set_charset($charset);  }  function fetch_array($query, $result_type = MYSQLI_ASSOC)  {    $row = $query->fetch_array($result_type);    $query->free();    return $row;  }  function query($sql, $type = '')  {    if ($this->link_id === NULL)    {      $this->connect($this->settings['dbhost'], $this->settings['dbuser'], $this->settings['dbpw'], $this->settings['dbname'], $this->settings['charset'], $this->settings['pconnect']);      $this->settings = array();    }    if ($this->queryCount++ <= 99)    {      $this->queryLog[] = $sql;    }    if ($this->queryTime == '')    {      if (PHP_VERSION >= '5.0.0')      {        $this->queryTime = microtime(true);      }      else      {        $this->queryTime = microtime();      }    }    /* 當當前的時間大于類初始化時間的時候,自動執(zhí)行 ping 這個自動重新連接操作 */    if (time() > $this->starttime + 1)    {      $this->link_id->ping();    }    if (!($query = $this->link_id->query($sql)) && $type != 'SILENT')    {      $this->error_message[]['message'] = 'MySQL Query Error';      $this->error_message[]['sql'] = $sql;      $this->error_message[]['error'] = $this->link_id->error;      $this->error_message[]['errno'] = $this->link_id->errno;      $this->ErrorMsg();      return false;    }    if (defined('DEBUG_MODE') && (DEBUG_MODE & 8) == 8)    {      $logfilename = $this->root_path . DATA_DIR . '/mysql_query_' . $this->dbhash . '_' . date('Y_m_d') . '.log';      $str = $sql . "/n/n";      if (PHP_VERSION >= '5.0')      {        file_put_contents($logfilename, $str, FILE_APPEND);      }      else      {        $fp = @fopen($logfilename, 'ab+');        if ($fp)        {          fwrite($fp, $str);          fclose($fp);        }      }    }    return $query;  }  function affected_rows()  {    return $this->link_id->affected_rows;  }  function error()  {    return $this->link_id->error;  }  function errno()  {    return $this->link_id->errno;  }  function result($query, $row)  {    $query->data_seek($row);    $result = $query->fetch_row();    $query->free();    return $result;  }  function num_rows($query)  {    return $query->num_rows;  }  function num_fields($query)  {    return $this->link_id->field_count;  }  function free_result($query)  {    return $query->free();  }  function insert_id()  {    return $this->link_id->insert_id;  }  function fetchRow($query)  {    return $query->fetch_assoc();  }  function fetch_fields($query)  {    return $query->fetch_field();  }  function version()  {    return $this->version;  }  function ping()  {    return $this->link_id->ping();  }  function escape_string($unescaped_string)  {    return $this->link_id->real_escape_string($unescaped_string);  }  function close()  {    return $this->link_id->close();  }  function ErrorMsg($message = '', $sql = '')  {    if ($message)    {      echo "<b>DTXB info</b>: $message/n/n<br /><br />";      //print('<a href="http://faq.comsenz.com/?type=mysql&dberrno=2003&dberror=Can%27t%20connect%20to%20MySQL%20server%20on" target="_blank">http://faq.comsenz.com/</a>');    }    else    {      echo "<b>MySQL server error report:";      print_r($this->error_message);      //echo "<br /><br /><a href='http://faq.comsenz.com/?type=mysql&dberrno=" . $this->error_message[3]['errno'] . "&dberror=" . urlencode($this->error_message[2]['error']) . "' target='_blank'>http://faq.comsenz.com/</a>";    }    exit;  }/* 仿真 Adodb 函數(shù) */  function selectLimit($sql, $num, $start = 0)  {    if ($start == 0)    {      $sql .= ' LIMIT ' . $num;    }    else    {      $sql .= ' LIMIT ' . $start . ', ' . $num;    }    return $this->query($sql);  }  function getOne($sql, $limited = false)  {    if ($limited == true)    {      $sql = trim($sql . ' LIMIT 1');    }    $res = $this->query($sql);    if ($res !== false)    {      $row = $res->fetch_row();      $res->free();      if ($row !== false)      {        return $row[0];      }      else      {        return '';      }    }    else    {      return false;    }  }  function getOneCached($sql, $cached = 'FILEFIRST')  {    $sql = trim($sql . ' LIMIT 1');    $cachefirst = ($cached == 'FILEFIRST' || ($cached == 'MYSQLFIRST' && $this->platform != 'WINDOWS')) && $this->max_cache_time;    if (!$cachefirst)    {      return $this->getOne($sql, true);    }    else    {      $result = $this->getSqlCacheData($sql, $cached);      if (empty($result['storecache']) == true)      {        return $result['data'];      }    }    $arr = $this->getOne($sql, true);    if ($arr !== false && $cachefirst)    {      $this->setSqlCacheData($result, $arr);    }    return $arr;  }  function getAll($sql)  {    $res = $this->query($sql);    if ($res !== false)    {      $arr = $res->fetch_all(MYSQLI_ASSOC);      $res->free();       return $arr;    }    else    {      return false;    }  }  function getAllCached($sql, $cached = 'FILEFIRST')  {    $cachefirst = ($cached == 'FILEFIRST' || ($cached == 'MYSQLFIRST' && $this->platform != 'WINDOWS')) && $this->max_cache_time;    if (!$cachefirst)    {      return $this->getAll($sql);    }    else    {      $result = $this->getSqlCacheData

以上就是小編為大家?guī)淼膃cshop適應(yīng)在PHP7的修改方法解決報錯的實現(xiàn)全部內(nèi)容了,希望大家多多支持VeVb武林網(wǎng)~


注:相關(guān)教程知識閱讀請移步到ECSHOP教程頻道。
發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
日韩欧美在线字幕 | 国产999在线观看| 久久精品国产91精品亚洲| 久久中文免费视频| 精品国产乱码久久久久久蜜臀| 在线日韩中文字幕| 日韩国产一区久久| 欧美日韩国产一区| 中文字幕日韩第一页| 一区二区不卡在线| 国产小视频在线观看免费| 亚洲中文字幕一区| 中文字幕国产亚洲| 亚洲成av人片在线| 欧美中文字幕在线| 韩国v欧美v日本v亚洲| 在线精品日韩| 欧美日韩性视频在线| 欧美日韩第一| 亚洲成av人综合在线观看| 午夜精品一区二区三区免费视频| 中文字幕精品在线| 日韩视频精品| 国产香蕉精品视频| 欧美日韩中文字幕在线| 日韩欧美看国产| 国产一区激情在线| 91精品国产91久久久久久久久| 国产区日韩欧美| 亚洲成av人片一区二区密柚| 日韩精品视频在线观看免费| av免费观看国产| 国产123在线| 国产欧美自拍一区| 黄色国产在线| 欧美日韩中文字幕一区| 影音先锋中文字幕在线观看| 欧美色欧美亚洲高清在线视频| 欧美色视频一区二区三区在线观看 | 欧美日韩中文字幕在线| 中文字幕亚洲乱码| 日韩欧美国产免费播放| 国产一卡2卡3卡免费网站| 一区二区视频在线| 日本a级黄色| 国产成人综合精品| 激情五月综合| 精品999在线| 精品日韩视频在线观看| 日韩精品一区二区三区视频播放| 国产一级片播放| 91精品久久久久久蜜臀| 国产亚洲人成a一在线v站| 91精品在线视频观看| 精品网站999www| 日本а中文在线天堂| 天堂在线一区二区三区| 日韩在线视频观看正片免费网站| 最近中文字幕在线中文视频| 韩国一区二区av| 国产手机精品视频| 99综合精品久久| 精品一二三区视频| 日本亚洲欧美天堂免费| 亚洲专区一区| 一区二区中文视频| 欧美日韩久久久| 一本一道综合狠狠老| 日本a口亚洲| 中文字幕精品在线视频| 欧美日韩高清一区二区不卡| 91精品国产91久久久久| 日韩视频在线观看视频| 亚洲免费观看在线观看| 国产一区深夜福利| 成片免费观看| 精品在线网站观看| 亚洲欧洲在线观看av| 欧美日韩国产专区| 一区二区精品免费| 91精品日本| 日本a口亚洲| 91精品婷婷国产综合久久竹菊| 日韩在线小视频| 精品999在线| 日韩欧美色综合| 日韩在线三区| 在线视频亚洲| 亚洲欧美999| 粉嫩喷白浆久久| 国产aa精品| 亚洲欧美99| av中文网站| 国产欧美日韩三级| 婷婷中文字幕一区| 成人ww免费完整版在线观看| 欧美一级欧美三级在线观看| 最新中文字幕在线| 久久精品国产视频| 日韩欧美在线影院| 亚洲国产福利视频| 久久91精品久久久久久秒播| 美女黄a一级视频| 国产成人综合av| 精品一区二区三区中文字幕在线| 国产在线一在线二| 欧美日韩在线观看成人| 一区二区三区精品在线观看| 中文在线а√在线8| 欧美日韩高清在线一区| 日韩精品国产欧美| 国产超级va在线视频| 亚洲欧洲在线观看av| 亚欧成人精品| 在线观看一区| 精品午夜av| 日韩精品在线网站| 国产 日韩 欧美 综合 一区| 中文字幕高清在线播放| 欧美日韩国产第一页| 亚洲.国产.中文慕字在线| 午夜一区二区三区视频| 欧美久久在线观看| 日韩欧美资源站| 日韩av一区二区在线观看| 国产日韩中文字幕| 影音先锋一区二区资源站| 91精品国产91久久久久青草| 91精品婷婷国产综合久久| 韩国av一区二区| 国产日韩免费| 日韩欧美在线精品| 亚洲黄色在线观看| 国产在线黄色片| 精品国产乱码久久久久久牛牛| 精品调教chinesegay| 国产三级在线| 在线视频不卡国产V| 1区2区在线| 天天综合色天天| 免费看ww视频网站入口| 日韩精品视频免费在线观看| 人成免费在线视频| 国产九九在线| 久久久水蜜桃| 亚洲女同中文字幕| 欧美一级搡bbbb搡bbbb| av中文在线播放| 欧美日韩亚洲综合在线| 国产日韩在线亚洲字幕中文| 成人xxxx| 久久精品99久久久久久久久| 最近中文字幕在线中文视频| 天天综合天天| 三级精品视频| 国产高清不卡av| 欧美性生交大片免费| a在线观看免费视频| 不卡在线视频| 欧美日韩性视频在线| 国产日韩精品电影| 一区二区三区在线不卡| 一区二区不卡久久精品| 欧美日韩在线视频一区| 日韩在线观看a| 亚洲女人天堂a在线播放| 国产成人精品网址| 国产视频中文字幕| 欧美1234区| 日韩欧美国产片| 亚洲视频中文字幕| www.日韩免费| 国产偷国产偷亚洲清高网站| 日韩在线视频一区二区三区| 区日韩二区欧美三区| 色99中文字幕| 91精品国产综合久久香蕉最新版| av亚洲免费| 日韩欧美在线综合网| 国产一级视频在线播放| 91精品国产综合久久久久久 | 欧美日韩国产在线观看| 国产成人精品网址| 欧美日韩在线看| 欧美日韩国产专区| 一区二区三区在线免费| 国产在线看一区| 亚洲欧美久久久| 亚洲黄色www| 亚洲视频资源在线| 亚洲高清不卡一区| 国产高清一级片| 亚洲第一网中文字幕| 国产黄在线观看免费观看不卡| 中文字幕精品一区二区三区在线 | 国产一级久久久| 国产一级片在线| 日韩中文字幕91| 日韩视频在线观看视频| 一区二区精品区| 精品日韩在线| 91精品国产自产在线| 国产三级精品在线观看| 中文字幕成人乱码在线电影| 日韩国产欧美三级| 日韩精品视频免费看| 拍真实国产伦偷精品| 99久久www免费| 国产欧美日韩高清| 日韩欧美国产1| 亚洲高清精品视频| av免费观看国产| 日本精品在线播放| 中文字幕亚洲免费| 国产三级精品网站| 一区二区三区精品久久久| 国产黄色在线网站| 91精品国产综合久久久久久| 1区2区3区在线视频| 欧美日韩精品在线播放| 欧美1区免费| 国产三级第一页| 国产成人精品免费网站| 搞黄在线观看| 国产黄在线观看| 日韩精品综合在线| 日韩精品在线视频观看| 69av亚洲| 久久久精品日韩| 国产视频三级在线观看播放| 国产欧美日韩成人| 色偷偷一区二区三区| 亚洲欧洲日产国码av系列天堂| 日韩欧美一级视频| 亚洲中文字幕在线一区| 在线综合 亚洲 欧美中文字幕| 日韩三级高清在线| 精品国产99久久久久久| 免费在线观看国产黄| 久久婷婷综合国产| 日韩精品视频免费播放| 国产一级在线| 999视频精品| 欧美成人一区二区| 成人禁用看黄a在线| 色综合婷婷久久| 欧美日韩视频免费播放| 欧美日韩国产一二三| 日韩精品综合在线| 中文字幕亚洲高清| 一区免费视频| 91精品在线国产| 久久精品欧美日韩精品| 在线不卡日本| 国产91久久久久蜜臀青青天草二 | av免费在线播放| 久久99久久久欧美国产| 欧美久久久久久蜜桃| 日韩一级免费视频| 日韩免费电影网站| 91极品视频在线观看| 交视频在线观看国产| 日韩精品在线观| 日韩三级一区二区| 久久激情一区| www.久久草| 国产中文在线播放| 欧美日韩中文精品| 首页国产欧美久久| √天堂资源中文www| 日韩欧美在线视频| 99精品视频国产| 国产欧美日韩综合精品| 亚洲欧美韩国综合色| 亚洲视频在线观看日本a| 国产69精品久久app免费版| 亚洲欧美视频一区二区三区 | 不卡在线视频| 91精品国产免费| 精品国产欧美| 欧美国产小视频| 精品999视频| 精品色蜜蜜精品视频在线观看| 亚洲欧美小说国产图片| 日韩.欧美.亚洲| 国产高清不卡av| 91精品国产综合久久精品| 中文字幕一区免费| 欧美 日韩 国产 在线| 欧美性极品xxxx做受| 婷婷精品进入| 91精品国产自产在线观看永久∴| 午夜精品一区二区三区视频免费看| 中文字幕中文字幕精品| 中文字幕在线视频网| 欧美一级二级三级区| 日韩在线精品视频| 日韩中文字幕亚洲| 欧美中文字幕视频在线观看| 久久久久久久久综合| 日韩久久不卡| 日韩在线视频免费观看| 伊人伊成久久人综合网小说| 国产欧美日韩视频在线| 99精品电影| 精品日韩av一区二区| 国产欧美久久久久久久久| 亚洲欧美中文字幕| 国产在线欧美| 精品国产网站在线观看| 国产一区 二区 三区一级| 中文不卡在线| 国产久卡久卡久卡久卡视频精品| 中文字幕精品在线视频| 国产成人精品免费在线| 欧美日韩综合在线| 亚洲狠狠婷婷综合久久久久图片| 中文字幕在线欧美| 日本国产一区| 亚洲精品欧美二区三区中文字幕| 午夜视频在线观看一区| 91精品国产综合久久香蕉最新版| 精品欧美久久久| 91精品国产综合久久香蕉的特点 | 一区二区国产在线| 欧美日韩国产一级片| 免费在线视频一级不卡| 在线国产1区| 日韩美女中文字幕| 国产一级免费| 一区二区视频在线| 久本草在线中文字幕亚洲欧美| 亚洲一区中文| 欧美 日韩 国产在线观看| 亚洲一区导航| 国产福利不卡| 日韩欧美一卡二卡| 国产日韩中文字幕在线| 日韩精品首页| 日韩中文在线视频| 中文字幕亚洲欧美| 欧美日韩在线国产| www..com日韩| 欧美日韩国产一区中文午夜| 中文字幕在线中文字幕二区| 欧美久久久精品| 高清不卡一区二区| 日韩欧美国产成人一区二区| 成人xxxx| 91精品网站| 91精品国产色综合久久不卡蜜臀 | 精品日韩在线| 一区免费视频| 黄色欧美日韩| 在线中文字幕视频| 黄色片网站在线| 国产香蕉精品视频| 91精品视频播放| 久久久精品欧美| 中文国产字幕在线观看| 999视频精品| 99视频一区| 国产中文在线播放| 精品亚洲国内自在自线福利| 欧美三级在线视频| 日韩视频国产视频| 久久91精品国产91久久小草| 欧美日韩在线精品成人综合网| 青青国产91久久久久久| 日韩欧美在线视频日韩欧美在线视频| 日韩精品中文在线观看| 欧美日韩高清不卡| 日韩国产高清一区| 国产黄色精品| 欧美精品一区二区三区在线播放| 国产日韩精品在线观看| 国产高清在线视频| 91麻豆免费视频网站| 亚洲国产福利视频| 中文字幕欧美日韩精品| 一级片免费网站| 日韩欧美在线1卡| 免费高清在线一区| 亚洲成a人片在线www| 精品婷婷伊人一区三区三| 视频一区二区精品的福利| 香蕉精品久久| www中文字幕在线观看| 亚洲理论中文字幕| 欧美日韩国产亚洲一区| 中文字幕日韩欧美在线视频| 黄色一级大片在线免费看国产一| 狠狠色综合色区| 在线视频日韩欧美| 精品一区二区三区中文字幕在线| 欧洲精品在线视频| 久久99精品久久久久子伦| 日韩欧美综合在线| 国产综合成人久久大片91| 久久精品视频免费看|