ecshop 支持 php,ecshop支持PHP7的修改方法
(1)将mysql扩展的使用替换掉,改为使用mysqli或pdo(推荐使用mysqli):
从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; // 最大的
代码当中加了几个方法,用于支持事务。
(2)更改cls_image.php的gd_version()方法,将这个方法改为静态方法,并且所有调用此方法的地方,都改为静态调用。
PHP5.6开始,已经不支持不兼容的上下文调用方法,并且产生 E_DEPRECATED 错误(以前是 E_STRICT)。
更改如下:
includes/cls_images.php,(gd_version方法体添加static关键字)
/**
* 获得服务器上的 GD 版本
*
* @access public
* @return int 可能的值为0,1,2
*/
static function gd_version()
{
....
}
在好几处调用此方法的地方都改为静态调用,比如includes/cls_images.php的好几个方法在调用时使用类对象调用:
function make_thumb($img, $thumb_width = 0, $thumb_height = 0, $path = '', $bgcolor='')
{
$gd = $this->gd_version(); //获取 GD 版本。0 表示没有 GD 库,1 表示 GD 1.x,2 表示 GD 2.x
。。。
}
将其改为:
function make_thumb($img, $thumb_width = 0, $thumb_height = 0, $path = '', $bgcolor='')
{
$gd = self::gd_version(); //获取 GD 版本。0 表示没有 GD 库,1 表示 GD 1.x,2 表示 GD 2.x
。。。
}
还有includes/lib_base.php文件的gd_version函数,改为:
function gd_version()
{
include_once(ROOT_PATH . 'includes/cls_image.php');
return cls_image::gd_version();
}
其他文件代码在调用时,最好改为调用lib_base文件的gd_version的函数。可以搜索更改。
(3)更改includes/lib_main.php文件的get_dyna_libs函数,该第一行的代码:
function get_dyna_libs($theme, $tmp)
{
$ext = end(explode('.', $tmp));
。。。
}
更改为:
function get_dyna_libs($theme, $tmp)
{
$tmp_ext = explode('.', $tmp);
$ext = end($tmp_ext);
}
end方法的接受的参数必须是引用传递值,这里使用了explode方法返回值,不可以直接套用。
(4)includes/cls_template.php代码:
preg_replace方法,自PHP5.5开始 /e修饰符已经废弃,所以要使用preg_replace_callback代替。此代替有多处:
fetch_str方法:
fetch_str($source)
{
。。。
return preg_replace_callback("/{([^\}\{\n]*)}/",'self::select_replace', $source);
}
//新增的方法
private function select_replace($matches){
return $this->select($matches[1]);
}
select方法:
function select($tag)
{
。。。
$pregReplace = preg_replace_callback("/(\'\\$[^,]+)/" , function($matches){
return stripslashes(trim($matches[1],'\''));
}, var_export($t, true));
。。。
}
smarty_prefilter_preCompile方法:
$source = preg_replace_callback($pattern, function($matches){
return '{include file='.strtolower($matches[1]). '}';
}, $source);
(5)将所有类的构造函数,都去除使用类名的构造函数,保留__construct():
涉及此改动的超多,用搜索一一找到并改动吧……这个就不列举了。
ecshop 支持 php,ecshop支持PHP7的修改方法相关推荐
- ecshop手机端html,ECSHOP手机版本的head标题的修改方法分享
纵览众多的网站程序,都有一个属于自己的首页标题,而且都是默认的.而我们在用别人的程序中,都会根据自己的需求进行各种修改. 众所周知,网站标题的更改对网站的seo影响非常大.如果你频繁更改网站标题,将导 ...
- 支持苹果IPV6 ONLY 的socket 修改方法
首先别错误理解以为app 必须支持 ipv6 的服务端, 只需要支持 ipv6的客户端需要访问 ipv4 的服务端. 目前需要经过 NAT64 转换就能达到目的,客户端只需要支持该转换就能实现, 在 ...
- [ecshop 资料]设置ECSHOP支持货到付款
设置ECSHOP支持货到付款 (2015-06-15 10:08:32) 转载▼ 标签: ecshop货到付款 ecshop支付方式 分类:ecshop教程 第一步:查看当前的配送方式是否支持货到付款 ...
- php全套之七,【独家首发】最新七星修改二开正米酷影视7.2完整版/支持自定义解析/支持PHP7.0及以上...
[独家首发]最新七星修改二开正米酷影视7.2完整版/支持自定义解析/支持PHP7.0及以上 视频播放页右侧栏图片和文字在后台→系统设置→APP设置修改广告位在后台设置~第一步:上传文件/uplod.z ...
- 主题 支持 php 7.2,最新七星修改二开正米酷影视7.2完整版/支持自定义解析/支持PHP7.0及以上...
[独家首发]最新七星修改二开正米酷影视7.2完整版/支持自定义解析/支持PHP7.0及以上 视频播放页右侧栏图片和文字在后台→系统设置→APP设置修改 广告位在后台设置~ 第一步:上传文件/uplod ...
- 咪咕代理php,【独家创业】新七星修改2开正咪咕影视7.2全版/支持自定义解析/支持PHP7.0及以上...
资料来源说明: [独家创业]新七星修改2开正咪咕影视7.2全版/支持自定义解析/支持PHP7.0及以上 视频播放页面右侧栏图文在后台→系统设置→APP设置更改 广告设置~在后台 步骤1:上传文件/up ...
- Android Audio - 支持多应用同时录音_Android9.0修改方法
支持多应用同时录音_Android9.0修改方法 修改方法 与之相关 修改方法 源码路径: sdk\frameworks\av\services\audiopolicy\managerdefault\ ...
- Android Audio - 支持多应用同时录音_Android8.1修改方法
支持多应用同时录音_Android8.1修改方法 修改方法 与之相关 修改方法 源码路径: sdk\frameworks\av\services\audiopolicy\managerdefault\ ...
- ecshop静态、 ecshop伪静态、ecshop伪静态设置详细方法、ECSHOP静态化方法
ecshop静态设置有两种: 服务器或虚拟主机要支持伪静态: 1.linx系统,在后台设置即可,按照提示修改文件. htaccess.txt 修改为:.htaccess 2.WIN的伪静态比较麻烦: ...
最新文章
- 端到端TVM编译器(上)
- Oracle的控制文件
- 对于白神贪心问题的感悟
- UML各种图总结-精华
- django基础1--django安装与helloworld测试
- Solr router 路由介绍
- C++派生类的构造函数和析构函数
- 华侨大学计算机学院2019,华侨大学计算机科学与技术学院2019年非全日制研究生复试成绩(第四批)...
- AndroidStudio安卓原生开发_UI高级_RecyclerView_循环复用控件_代替ListView_GridView---Android原生开发工作笔记121
- docker版本AWVS14
- ezcad旋转轴标刻参数_激光打标机软件ezcad中菜单下的旋转角度标刻2功能介绍及其操作设置...
- python整人代码大全_整人代码大全
- 尺缩钟慢之动尺收缩——思想实验推导狭义相对论(六)
- python爬取文库,python爬取文库ppt的简单实现
- 图像处理 图像相似算法aHash、dHash、pHash解析与对比
- 【日常】纪录一个愚蠢的问题
- 计算机更改开机密码快捷方法,如何对电脑的开机密码进行快速更换
- 苹果手机实现NTU校园网连接自动化
- 事务的隔离级别(附Redis的简述)
- 乐华娱乐IPO搁浅:王一博是旗下艺人 CMC阿里字节是股东