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以及其它开源程序的安装、运行都是完美支持的,实用性非常高,感兴趣的朋友可以了解下。
这篇流量运营《PHP版本导致ECShop出错的原因分析》,目前已阅读次,本文来源于31idc,在2025-02-14发布,该文旨在普及网站运营知识,如果你有任何疑问,请通过网站底部联系方式与我们取得联系