Ecshop错误大汇总.doc_第1页
Ecshop错误大汇总.doc_第2页
Ecshop错误大汇总.doc_第3页
Ecshop错误大汇总.doc_第4页
Ecshop错误大汇总.doc_第5页
免费预览已结束,剩余6页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、Ecshop 错误大汇总Ecshop 错误大汇总分类:PHP2013-07-21 20:44262 人阅读评论 (0)收藏举报一、出现下面这就话:Strict Standards: Only variables should be passed by reference in uploadincludescls_template.php on line 418第 418 行: $tag_sel = array_shift(explode( , $tag);解决办法1 ():5.3 以上版本的问题, 应该也和配置有关只要 418 行把这一句拆成两句就没有问题了 $tag_sel = array_

2、shift(explode( , $tag); 改成: $tag_arr = explode( , $tag); $tag_sel =array_shift($tag_arr);(实验过,绝对可行)因为 array_shift的参数是引用传递的, 5.3 以上默认只能传递具体的变量,而不能通过函数返回值同理举一反三:遇到函数嵌套错误时可以分开写,错误自然解决如:function get_dyna_libs($theme, $tmp)$extsub = explode(., $tmp);$ext = end($extsub);$tmp = basename($tmp,.$ext);$sql =

3、SELECT region, library, sort_order, id, number, type . FROM . $GLOBALSecs->table(template) . WHERE theme = $theme AND filename = . $tmp . AND type > 0 AND remarks=. ORDER BY region, library, sort_order; $res = $GLOBALSdb->getAll($sql); $dyna_libs = array();foreach ($res AS $row)$dyna_libs$r

4、owregion$rowlibrary = array( id => $rowid,number => $rownumber, type => $rowtype);return $dyna_libs;将$ext = end(explode(., $tmp);改为$extsub = explode(., $tmp);$ext = end($extsub);解决办法2(屏蔽错误):或则如果这样配置的话:error_reporting = E_ALL |E_STRICTphp.ini 中有如下设置:error_reporting = E_ALL | E_STRICT这是说,显示那些

5、不符合编码规范的警告(coding standardswarnings )。Joomla 其实是建议取消error 的输出,如果出于调试需要,应改为error_reporting = E_ALL & E_NOTICE问题得到解决。二、如果出现以下问题Strict Standards: Non-static methodcls_image:gd_version() should not be called statically inincludeslib_base.php on line 346解决办法一:屏蔽错误首先检查php.ini中extension=php_gd2.dll注释是否

6、去掉如果还有问题查找error_reporting = E_ALL修改成error_reporting = 0D:workspaceecshopincludes下的init.php文件修改ini_set(display_errors, 1);把 1 修改成零D:workspaceecshopadminincludes下的init.php文件修改ini_set(display_errors, 1);把 1 修改成零解决办法二:根源上解决错误第一个提示的意思是 cls_image 类里面的 gd_version 函数不是静态方法,不能用 cls_image:gd_version 调用。这个和 gd

7、 库没有一点关系,是 ecshop 程序的问题。找到 includeslib_base.php 错误行function gd_version()include_once(ROOT_PATH . includes/cls_image.php); $cls_imageargs=new cls_image();/return cls_image:gd_version();这里使用了静态调用return $cls_imageargs->gd_version();/恢复动态调用三、将第64行$smarty->assign(sql_name,cls_sql_dump:get_random_na

8、me() . .sql);改为$cls_sql_dumpsub=new cls_sql_dump();$smarty->assign(sql_name,$cls_sql_dumpsub->get_random_name() . .sql);四、Strict Standards: Redefining already defined constructorfor class cls_sql_dump inD:WWWecshopadminincludescls_sql_dump.php on line90此问题主要是php4 与 php5 版本引起的/* 类的构造函数* access

9、public* param* return void*/function cls_sql_dump(&$db, $max_size=0)$this->db = &$db; if ($max_size > 0 )$this->max_size = $max_size;/* 类的构造函数* access public* param* return void*/function _construct(&$db, $max_size =0)$this->cls_sql_dump($db, $max_size);改为/* 类的构造函数* access pu

10、blic* param* return void*/function _construct(&$db, $max_size =0)$this->cls_sql_dump($db, $max_size);/* 类的构造函数* access public* param* return void*/function cls_sql_dump(&$db, $max_size=0)$this->db = &$db;if ($max_size > 0 )$this->max_size = $max_size;五、ECshop 后台显示 Deprecated:

11、 Assigning the return value of new by reference is deprecated in admingoods_batch.php on line 921公司接了个做网店的项目,用 ECshop 开发,装在 window7下,后台管理出现了( ! ) Deprecated: Assigning the return value of new byreference is deprecated inF:wampwwwECshopadmingoods_batch.php on line921这个错误,网上搜了好长时间,找到答案了只要把 admin 目录下的g

12、oods_batch.php文件的 921 行$filter = &new stdclass;new 前边的 & 去掉就 ok 了,是不是很简单?$filter = new stdclass;六、会员自动退出漏洞ecshop 使用就了就会发现越来越多的bug ,现在这边又遇到了一个奇怪的问题,就是网站上的注册会员登录之后,在个别的地方个别的浏览器上会出现浏览了几个页面之后自动退出的现象。因为我在我这边测试一直没有捕抓到这个bug ,是通过我们的一个客户发现的,然后反馈上来。会出现这种问题,不外乎就是当前会员的session 或者程序对 cookie 的处理存在漏洞。进过本地测试

13、, includesmodulesintegratesecshop.php这个整合自身会员的类中没有重写integrate.php中的check_cookie() 方法导致 ,验证 cookie 时返回的 username 为空,丢失了登录状态,在ecshop.php中重写了此方法就可以了。把他加到ecshop.php的最后面去就可以了。望尽快把这个 bug 给补上。/* 检查 cookie* access public* param* return void*/function check_cookie ()if ( isset($_COOKIEECS) && isset($_COOKIEECSuser_id) && isset($_COOKIEECSpassword)$ecs_user_id = $_COOKIEECSuser_id;$ecs_user_pass = $_COOKIEECSpassword;$sql = SELECT . $this->field_name . AS user_name. FROM . $this->table($this->user_table) . WHERE .$this->field_id. = $ecs_user_id AND .$t

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论