ecshop在在PHP5.6.6版本以后,有了很多细微的变化。而ECSHOP官方更新又太慢,发现这些问题后也不及时升级,导致用户安装使用过程中错误百出。

整理一下我遇到的问题希望对你们能有些帮组也为了自己以后查看。

问题1:

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in cls_template.php XXX line

出错原因:

出现以上问题是 preg_replace() 函数中用到的修饰符 /e 在 PHP5.5.x 中已经被弃用了。在PHP 5.5以上的版本用 preg_replace_callback 函数替换了 preg_replace函数。

解决方法:

 解决问题的方法就是将代码中使用 preg_replace 函数的部分全部替换成 preg_replace_callback 函数,并且将一被废弃的 /e 修饰符 删除。

例子:

return preg_replace("/{([^\}\{\n]*)}/e", "\$this->sel ect('\\1');", $source);

替换为

return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->sel ect($r[1]); }, $source);

问题2:

Strict Standards: Only variables should be passed by reference in ......\includes\cls_template.php on line 418

出错原因:

出现这个问题的原因,貌似在php5.4中array_shift只能为变量,不能是函数返回值。

解决方法:

$tag_sel = array_shift(explode(‘ ‘, $tag));

替换成

$tag_arr = explode(‘ ‘, $tag);
   $tag_sel = array_shift($tag_arr);

问题3:

Strict Standards: Non-static method cls_image::gd_version() should not be called statically in ......\includes\lib_base.php on line 346   或者

Strict Standards: Non-static method cls_image::gd_version() should not be called statically in ......\includes\lib_installer.php on line 31

出错原因:  //www.zuimoban.com

如问题中提示的一样,因为 cls_image.php 中 gd_version() 不是 static 函数所以在lib_base.php 与 lib_installer.php 中调用时才会出现以上问题。

解决方法:

  解决方法1:    首先在 lib_image.php 文件中,用 Shift+F 去搜索 gd_version 函数。然后在gd_version 方法前加 static 修饰符,是此函数变成静态函数。

解决方法2:    在lib_base.php 与 lib_installer.php 函数中找到 cls_image::gd_version() 部分, 然后分别创建cls_image 实例,之后用创建的实例再去调用 gd_version() 函数。

$cls_gile = new cls_image();

return $cls_gile->gd_version();

问题4:

Deprecated: Assigning the return value of new by reference is deprecated in…

出错原因:

PHP5.3+废除了”=&”符号,对象复制用”=”

解决方法:

搜索所有PHP文件,将”=&”替换为”=”

问题5:

Strict Standards: mktime(): You should be using the time() function instead in ......\admin\shop_config.php on line 32

出错原因:

这个错误提示的意思:mktime()方法不带参数被调用时,会被抛出一个报错提示。

解决方法:

$auth = mktime();

将mktime()替换成time()方法,代码为:

$auth = time();

问题6:

Strict Standards: Redefining already defined constructor for class cls_sql_dump ......

出错原因:

原因跟PHP类中的构造函数有关,PHP早期版本是使用跟类同名的函数作为构造函数,后来又出现了使用 __construct()作为构造函数,

这俩个函数可以同时存在。到了PHP5.4版本,对这俩个函数在代码中的先后顺序有了严格的要求。在PHP5.4版本下,必须__construct() 在前,

同名函数在后,否则就会出现上面的的错误提示。

解决方法:

把__construct()函数放在,同名函数上面就行了。

问题7:

Strict Standards: Declaration of vbb::set_cookie() should be compatible with integrate::set_cookie($username = '', $remember = NULL)

出错问题:

vbb继承了integrate类并且重写了 set_cookie() 函数,但vbb重写set_cookie函数的参数 与 其父类set_cookie 的参数不符所以出现以上问题。

解决方法:

function set_cookie ($username="")
   改为
   function set_cookie ($username="", $remember = NULL)

如出现类似错误,可以以同样的方法解决。

转载于:https://www.cnblogs.com/isungge/p/4829012.html

PHP5.6.6上运行 ecshop 2.7.3常见问题处理相关推荐

  1. PHP 5.6.6 上运行 ecshop 2.7.3 不兼容问题整合

    在安装完php在自己的服务器上以后, 发现在静态网页上出现了很多 error. 在网上查找过后发现,大部分问题是因为 PHP发展到PHP5.5版本以后,有了很多细微的变化.而ECSHOP官方更新又太慢 ...

  2. ecmall支持php5.3,在PHP5.3以上版本运行ecshop和ecmall出现的问题及解决方案

    ecshop 问题一:商城首页报错 Strict Standards: Only variables should be passed by reference in D:\wamp\ecshop\i ...

  3. Linux系统部署Nginx+Mysql+PHP,在WEB服务器上部署ecshop网站。

    Nginx下网站部署实战 题目:部署Nginx+Mysql+PHP,在WEB服务器上部署ecshop网站. 一. 搭建Nginx Nginx (engine x) 是一个高性能的HTTP和反向代理we ...

  4. 电脑显示没有被指定在上运行_win10系统运行程序提示“dll没有被指定在windows上运行”的办法...

    有关win10系统运行程序提示"dll没有被指定在windows上运行"的操作方法想必大家有所耳闻.但是能够对win10系统运行程序提示"dll没有被指定在windows ...

  5. 使用 sched_setaffinity 将线程绑到CPU核上运行

    linux 提供CPU调度函数,可以将CPU某一个核和指定的线程绑定到一块运行. 这样能够充分利用CPU,且减少了不同CPU核之间的切换,尤其是在IO密集型压力之下能够提供较为友好的性能. 通过sch ...

  6. 从Qcheck 1.3 不能在不同操作系统上运行问题(chro124、chro342)说开来------

    [本文重在技巧学习,授人以鱼,不如授人以渔!!!] 因为公司项目需要对带宽占用进行测试, 最近看电子工业出版社<网络管理工具使用详解>就qcheck  1.3 不能在不同的操作系统之间运行 ...

  7. 不需xp_cmdshell支持在有注入漏洞的SQL服务器上运行CMD命令

    我的BLOG里有一篇文章介绍了关于SQL注入的基本原理和一些方法.最让人感兴趣的也许就是前面介绍的利用扩展存储过程xp_cmdshell来运行操作系统的控制台命令.这种方法也非常的简单,只需使用下面的 ...

  8. linux里运行windows,在Linux上运行Windows应用程序

    当前位置:我的异常网» Linux/Unix » 在Linux上运行Windows应用程序 在Linux上运行Windows应用程序 www.myexceptions.net  网友分享于:2015- ...

  9. linux下运行python unitest_Python unittest打印日志可以在Linux上运行,但在Windows上不行...

    我正在尝试编写一个unittest,它将stdout和stderr重定向到一个写在Windows网络驱动器上的文件.出于某些原因,相同的脚本(只有diff.是目录路径)可以在Linux上工作,但在Wi ...

最新文章

  1. 深入解析Python中的变量和赋值运算符
  2. 活久见!如何看待北京理工大学某硕士生被指几乎一字不差地抄袭论文?
  3. 香港大学提出OneNet:一阶段端到端目标检测网络,无需NMS!无需二分匹配!
  4. HDU 4411 Arrest(费用流)
  5. mysql 多个字段拼接
  6. NSString字符串常用知识点
  7. matlab指纹图像采集,基于MATLAB实现的指纹图像预处理
  8. vertex shader(5)
  9. 一致性hash算法_(图文案例)一致性哈希算法详解 一点课堂(多岸教育)
  10. 【今日CV 视觉论文速览】30 Nov 2018
  11. 各种集合key,value能否为null
  12. 全表行转列——动态SQL
  13. Agile PLM Create Item /BOM Dialog
  14. Javawbe的实战案例
  15. C语言求素数,以及优化
  16. 手动杀毒,SOLA病毒,也称之为worm.script.bat.Agent、Trojan.Win32.Sola病毒)
  17. 摄像头能用计算机里不显示,摄像头没有显示
  18. iOS静态库和动态库
  19. VS2019 / 2017 / 2013 产品密钥 – 所有版本
  20. 解决连击——按键防止连击的方法

热门文章

  1. Cannot SET AUTOTRACE 处理办法
  2. 【转载】/etc/passwd /etc/shadow 详解
  3. 国密算法椭圆曲线参数
  4. Trie实现(C++)
  5. 网站建设——从无到有
  6. 阿里云前端周刊 - 第 26 期
  7. [转]COPY OR MOVE FILES AND FOLDERS USING OLE AUTOMATION
  8. Vista开发之旅:微软开发技术20年回顾
  9. 第15组构建之法团队心得(2)
  10. Angular - - $cacheFactory