Ecshop二次开发修改
所有的错误,根据下面这个帖子修改
http://bg.artuion.com/328.html
修改错误:
第300行
原有内容:
//return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);
修改后内容:
return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->select($r[1]); }, $source);
问题一:商城首页报 错 Strict Standards: Only variables should be passed by reference in D:\wamp\ecshop\includes\cls_template.php on line 422
解决方法:
找到提示错误的文件 cls_template.php 及行号
把 $tag_sel = array_shift(explode(' ', $tag));
改成:
$tag_arr = explode(' ', $tag);
$tag_sel = array_shift($tag_arr);
并且删除 D:\wamp\www\ecshop\temp\caches下所有的文件
问题二:后台首页报 错 Strict Standards: Non-static method
cls_image::gd_version() should not be called statically
in D:\wamp\www\ecshop\includes\lib_base.php on line 346
解决办法
找到D:\wamp\www\ecshop\includes\cls_image.php文件
搜索 function gd_version 改成 static function gd_version
问题三:后台-商店设置
Strict
Standards: mktime(): You should be using the time() function instead
in D:\wamp\www\ecshop\admin\sms_url.php on line 31
Strict Standards: mktime(): You should be using the time() function instead
in D:\wamp\www\ecshop\admin\shop_config.php on line 32
解决办法
根据错误提示 把 mktime() 改成 time()
问题四:后台-起始页
Strict
Standards: Redefining already defined c**tructor for class alipay in
D:\www\es\includes\modules\payment\alipay.php on line 85
解决办法
1)、错误原因:
PHP 类,有两种构造函数,一种是跟类同名的函数,一种是
__contruct()。从PHP5.4开始,对这两个函数出现的顺序做了最严格的定义,必须是 __c**truct() 在前,同名函数在后
2)、
解决方法:
调换一下两个函数的前后位置即可。
以 includes/modules/payment/alipay.php 为例:
将下面这两个函数的位置互换一下就OK了,__contruct()在前,alipay()在后
function
alipay() {
}
function __contruct()
{
$this->alipay();
}
3)、ECSHOP的很多类文件 都存在这个问题,都需要修改掉。
问题五:后台-数据备份
Strict
standards: Redefining already defined constructor for class cls_sql_dump in
D:\wamp\www\ecshop\admin\includes\cls_sql_dump.php on line 90
Strict standards: Non-static method cls_sql_dump::get_random_name() should not
be called statically in D:\wamp\www\ecshop\admin\database.php on line 64
解决办法
根据错误提示 把 cls_sql_dump的 function __construct()改到 function cls_sql_dump()的前面
把 cls_sql_dump的 function get_random_name()改成 static function get_random_name()的前面
问题六:
Deprecated: Assigning the return value of new by reference is deprecated in \admin\sitemap.php on line 46
$sm =& new google_sitemap();
解决办法
在 5.3版本之后已经不允许在程序中使用”=&”符号。如果你的网站出现了
Deprecated: Assigning the return value of new by reference is deprecated in 错 误,别着急,先定位到出错的文件,查找下是不是在程序中使用了”=&”,例如刚才定位到网站程序中发现了下图的程序,发现使用了”=&” 符号,去掉‘&’符号之后程序运行正常
问题:Warning: preg_replace_callback(): Modifier /e cannot be used with replacement callback in E:\Program Files\xampps\htdocs\upload\includes\cls_template.php on line 1075
查找:
$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/se';
去掉那个 e !!!
修改为:
$pattern = '/<!--\s#BeginLibraryItem\s\"\/(.*?)\"\s-->.*?<!--\s#EndLibraryItem\s-->/s';
错误:Strict standards: Only variables should be passed by reference in \includes\lib_main.php on line 1329
查找:
$ext = end(explode('.', $tmp));
修改为:
$tmp_arr = explode('.', $tmp);
$ext = end($tmp_arr);
array_shift() 的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值 end(&array) 也一样(后面也会有end的函数,也需要拆分为两行)。
文件includes/init.php和admin/includes/init.php:
error_reporting(E_ALL ^ (E_NOTICE)改为:
error_reporting(E_ALL ^
E_NOTICE ^ E_STRICT);
Ecshop二次开发修改的更多相关文章
- ecshop二次开发 给商品添加自定义字段
说起自定义字段,我想很多的朋友像我一样会想起一些开源的CMS(比如Dedecms.Phpcms.帝国)等,他们是可以在后台直接添加自定义字段的. 抱着这种想法我在Ecshop的后台一顿找,不过肿么都木 ...
- ecshop二次开发之购物车常见问题
1.ecshop二次开发中保存注册用户购物车数据解决方法:ecshop购物车是数据库中cart表来支持的,在ecshop表中rec_id是编号,user_id是注册用户的id,session_id表示 ...
- Ecshop二次开发必备基础
EcShop二次开发学习方法 近年来,随着互联网的发展,电子商务也跟着一起成长,B2B,C2C,B2C的电子商务模式也不断的成熟.这时催生出了众多电子商务相关的PHP开源产品.B2C方面有Ecshop ...
- EcShop二次开发学习方法和Ecshop二次开发必备基础
ecshop二次开发学习方法 近年来,随着互联网的发展,电子商务也跟着一起成长,B2B,C2C,B2C的电子商务模式也不断的成熟.这时催生出了众多电子商务相关的php开源产品.B2C方面有Ecshop ...
- ECShop二次开发指南(一)
ECSHOP是一套完整的网络商店解决方案,包括前台的商品展示.购物流程和强大易用的后台管理.由于 ecshop简单易用,使用者几乎可以在3几分钟简单的设置一下就可以拥有一个网上商店系统,所以很多的B2 ...
- EcShop二次开发学习方法
EcShop二次开发学习方法 (2012-03-08 11:10:08) 转载▼ 标签: 京东 公用函数库 二次开发 sql语言 数据库设计 杂谈 分类: ecshop 近年来,随着互联网的发展,电子 ...
- ECSHOP二次开发指南
ECSHOP二次开发指南 发布时间:2013-05-28 12:47:00 来源: 评论:0 点击: 次 [字号:大 中 小] QQ空间新浪微博腾讯微博人人网豆瓣网百度空间百度搜藏开心网复制更 ...
- EcShop二次开发系列教程–总纲
EcShop作为老牌的B2C独立网店系统,功能非常全名,强大的文件.数据库缓存机制,保证前后台系统执行速度更快.系统平稳运行.但是过多的功能也或多或少的会影响到系统的整个效率,所有在使用EcShop搭 ...
- ecshop二次开发 给商品添加自定义字段【包含我自己进一步的开发实例详解】
本文包含商品自定义添加教程及进一步的开发实例: 教程: 说起自定义字段,我想很多的朋友像我一样会想起一些开源的CMS(比如Dedecms.Phpcms.帝国)等,他们是可以在后台直接添加自定义字段的. ...
随机推荐
- 51NOD 1709:复杂度分析——题解
http://www.51nod.com/onlineJudge/questionCode.html#!problemId=1709 (我什么时候看到二进制贡献才能条件反射想到按位处理贡献呢……) 参 ...
- NAT网络地址转换模拟过程
原理图,如图1 图1 以下为配置NAT网络地址转换的实验: eNSP模拟图,如图2 图2 Step1.给路由器的每个接口赋予一个地址,如图3,图4 图3 图4 AR1和AR2中添加路由表项,如图5,图 ...
- Kerberos的白银票据详解
0x01白银票据(Silver Tickets)定义 白银票据(Silver Tickets)是伪造Kerberos票证授予服务(TGS)的票也称为服务票据.如下图所示,与域控制器没有AS-REQ 和 ...
- 代码收藏系列--mysql--创建数据库、数据表、函数、存储过程命令
创建mysql数据库 CREATE DATABASE IF NOT EXISTS `database_name` DEFAULT CHARSET utf8 COLLATE utf8_general_c ...
- 使用Hystrix进行微服务降级管理
前言:目前我们的项目是微服务架构,基于dubbo框架,服务之间的调用是通过rpc调用的.刚开始没有任何问题,项目运行健康.良好.可是过了一段时间,线上总有人反应查询订单失败,等过了一段时间才能查到.这 ...
- 扶苏的bitset浅谈
bitset作为C++一个非常好用的STL,在一些题目中巧妙地使用会产生非常不错的效果.今天扶苏来分享一点bitset的基础语法和应用 本文同步发布于个人其他博客,同时作为P3674题解发布. 本文感 ...
- vmvare彻底删除(转)
bat脚本 echo off cls echo "flag">>%windir%\system32\test.log if not exist %windir%\sys ...
- 配置:heartbeat+nginx+mysqld+drbd高可用笔记(OK)
参考资料:http://www.centoscn.com/CentosServer/cluster/2015/0605/5604.html 背景需求: 使用heartbeat来做HA高可用,并且把 ...
- 「git」mac下git提交github代码
1.打开终端,输入 cd -/.ssh 这个是检查你的ssh的是否存在的,如果存在,先将已有的ssh备份,或者将新建的ssh生成到另外的目录下(如果第一次配置一般都是不存在的),不存在,你将会看到如下 ...
- SQL Server 2008如何开启数据库的远程连接
SQL Server 2008默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,远程连接数据库.需要做两个部分的配置: 1,SQL Server Man ...