第一范文网 - 专业文章范例文档资料分享平台

ecshop适应在PHP7的修改方法解决报错的实现

来源:用户分享 时间:2025/6/16 19:50:22 本文由loading 分享 下载这篇文档手机版
说明:文章内容仅供预览,部分内容可能不全,需要完整文档或者需要复制内容,请下载word后使用。下载word有问题请添加微信号:xxxxxxx或QQ:xxxxxx 处理(尽可能给您提供完整文档),感谢您的支持与谅解。

ecshop适应在PHP7的修改方法解决报错的实现

下面小编就为大家带来一篇ecshop适应在PHP7的修改方法解决报错的实现。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧

ecshop这个系统,到目前也没见怎么推出新版本,如果是新项目,不太建议使用它。不过,因为我一直以来都在使用中,所以不得不更改让其适应PHP新版本。现在PHP 7已经出发行版了,所以更改来继续使用吧。具体的更改有以下方面:

(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; // 事务指令数

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(\ }

return false; } } else {

$this->link_id = new mysqli($dbhost, $dbuser, $dbpw);

if ($this->link_id->connect_error) {

if (!$quiet) {

$this->ErrorMsg(\ }

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(\

$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(\ $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(\UNIX_TIMESTAMP() AS timeline, UNIX_TIMESTAMP('\. date('Y-m-d H:i:s', $this->starttime) . \

$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 = '<' . \

'$this->mysql_config_cache_file_time = ' . $this->starttime . \ '$this->timeline = ' . $this->timeline . \ '$this->timezone = ' . $this->timezone . \ '$this->platform = ' . \

@file_put_contents($sqlcache_config_file, $content); }

/* 选择数据库 */ if ($dbname) {

ecshop适应在PHP7的修改方法解决报错的实现.doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
本文链接:https://www.diyifanwen.net/c0e4cf8drjv9vfqx3d4pq7px008twlp015f4_1.html(转载请注明文章来源)
热门推荐
Copyright © 2012-2023 第一范文网 版权所有 免责声明 | 联系我们
声明 :本网站尊重并保护知识产权,根据《信息网络传播权保护条例》,如果我们转载的作品侵犯了您的权利,请在一个月内通知我们,我们会及时删除。
客服QQ:xxxxxx 邮箱:xxxxxx@qq.com
渝ICP备2023013149号
Top