ecshop php报错,解决ecshop因php版本过高引起的七种报错

ecshop模板网站兼容PHP版本较低,不兼容PHP更高的版本,如果使用其他版本可能会出现各种错误,如以下七种错误问题:

1、Strict Standards: Non-static method cls_image::gd_version() should not be called statically

未声明静态static

将return cls_image::gd_version();

替换为

$p = new cls_image();

return $p->gd_version();

2、Strict Standards: Only variables should be passed by reference

变量应该通过引用传递

将$tag_sel = array_shift(explode(' ', $tag));

替换为

$tag_arr = explode(' ', $tag);

$tag_sel = array_shift($tag_arr);

3、Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in

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

替换为

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

4、Strict Standards: Redefining already defined constructor for class paypal

PHP 类,有两种构造函数,一种是跟类同名的函数,一种是 ____construct()。从PHP5.4开始,对这两个函数出现的顺序做了最严格的定义,必须是 ____construct() 在前,同名函数在后

例如:

function __construct()

{

$this->paypal();

}

function paypal()

{

}

5、mktime(): You should be using the time() function instead

mktime()方法不带参数被调用

将$auth = mktime();

替换为

$auth = time();

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

子类的函数跟父类的同名,必须使子类的函数参数跟父类的对应函数参数个数相同

依据错误提示,修改例如:

function set_cookie ($username="")

改为

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

7、Parse error: syntax error, unexpected ';'

语法错误,缺少;或者echo没有输出值

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值