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

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有没有输出值。

以上就是在使用美国或其它国外虚拟主机时,由于PHP版本可能导致的ECShop程序错误,大家可以按照上述方法进行设置。另外,在选购主机空间之前,最好是咨询主机该主机所支持的PHP版本是多少,看看是否与你ECShop程序所要求的PHP版本相兼容。

另外,HostEase美国主机支持包括PHP4.4~PHP5.6在内的多种版本,而且可以自行进行切换,非常方便。因此,它对ECShop以及其它开源程序的安装、运行都是完美支持的,实用性非常高,感兴趣的朋友可以了解下。

(本文由美国主机侦探原创,转载请注明!)

微信扫码加好友进群

主机优惠码及时掌握

QQ群号:164393063

主机优惠发布与交流

温馨提示:

1、本站部分图片来源于互联网,如有侵权请联系删除。QQ:800013301

2、本文评论没有专人回复,如果您有问题请到美国主机侦探论坛提问!

3、美国主机侦探免费为您提供美国主机购买咨询。

备份WordPress网站数据步骤

Emlog、WordPress和Z-blog三大博客程序对比评测

返回顶部