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的伪静态比较麻烦: ...
最新文章
- Python设计模式-解释器模式
- docker学习笔记(四)——Dockerfile创建自定义镜像
- 笔记-高项案例题-2009年上-需求管理
- arm-2014.05 编译三星内核错误 “not support ARM mode ‘smc 0’ ”
- Android 打开另一个APP,并传参
- C#中采用OLEDB方式来读取EXCEL文件
- Java 8————Collectors中的中的joining 方法和mapping方法
- ES迁mysql_使用kafka连接器迁移mysql数据到ElasticSearch
- SpringMVC @ModelAttribute注解
- ES6 学习笔记 (1)
- curl 同时发送多个请求
- SVN下载以及中文包安装
- 企业信息安全管理制度
- 作为一名优秀的软件测试工程师,需要具备哪些能力?
- 超级玛丽java版下载jar文件_java超级玛丽混搭版jar
- 【数据可视化】三款主流开源数据可视化工具对比:Superset、DataEase、MetaBase
- Linux丢包故障的解决与思路
- 联想小新蓝屏问题解决方法三步走!
- Android漏洞扫描工具Code Arbiter
- 周鸿祎的微创新和中国的电子书
热门文章
- 一道简单的多维数组取值问题
- Linux下的高级文件权限ACL
- 关于修改密码后,远程服务器项目连接不上数据库的处理办法
- idea 使用时的一些问题
- 让VMware ESXi 5.5与Windows时间服务器同步
- 2011 端午后,杭州支付宝
- jsp水果商城系统毕业设计网站成品论文
- 12月19日绝地求生服务器维护公告,绝地求生12月19日更新到几点 绝地求生正式服更新维护公告...
- 计算机科学已发展成为一门,计算机前沿技术论文
- java 调度器怎么调用_OpenSymphony的Quartz里的作业、调度器使用举例