PHP版本导致ECShop出错的原因分析

来自:互联网
时间:2020-12-09
阅读:

ECShop是一款B2C独立网店系统,比较适合企业及个人站长快速电商网站,由于是开源程序,因而备受青睐。

目前,有很多站长搭建ECShop电商网站。值得一提的是,如果主机空间的PHP版本过低或过高的话,可能会导致ECShop程序出现错误。为此,这里就为大家列出几种常见的错误以及相应的解决方法。

错误1、未声明静态

错误提示:Strict Standards: Non-static method cls_image::gd_version() should not be called statically

解决方法:将

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(“/{([^}{

]*)}/e”, “$this->sel ect(‘\1’);”, $source);

替换为

return preg_replace_callback (“/{([^}{

]*)}/”, 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、staticmktime()方法不带参数被调用

错误提示:mktime(): You should be using the time() function instead

解决方法:将

$auth = mktime();

替换为

$auth = time();

错误6、语法错误

错误提示:Parse error: syntax error, unexpected ‘;’

解决方法:自行检查语法,看看是否是缺少“;”,或者echo有没有输出值。

返回顶部
顶部