ECSHOP安装或使用中提示Strict Standards: Non-static method cls_image:
随着ECSHOP的不断发展,越来越多的人成为了ECSHOP的忠实粉丝。由于每个人的服务器环境和配置都不完全相同,所以ECSHOP也接二连三的爆出了各种各样的错误信息。相信不少新手朋友在ECSHOP安装过程中都碰到过类似下面这样的错误提示吧。Strict Standards: Non-static method cls_image::gd_version() should not be called statically in /....../install/includes/lib_installer.php on line 31注意: 省略号...... 代表的是ECSHOP安装路径,每个人的都不一样,所以这里用省略号代替了。而且这种错误不只在安装过程中会出现,安装完后,在ECSHOP使用过程中,在某些页面也会提示类似下面这样的错误信息,Strict Standards: Non-static method cls_image::gd_version() should not be called statically in /....../includes/lib_base.php on line 346这两种错误信息本质是一样的,只是发生在了不同的页面或不同的文件中,所以错误原因和解决方法也是一样的。错误原因:使用“::”符号调用PHP类中的方法(函数),其前提是该方法(函数)必须是使用static关键字定义的。我们打开 include/cls_image.php文件,找到678行左右,你会发现cls_image类中的函数gd_version() 是没有使用static关键字的,所以在ECSHOP安装或使用中才会出现上面的错误提示。解决方案:知道了错误原因,再解决起来就容易多了。以下两种修改方法,任选其一即可。第1种方法:将gd_version()函数声明为静态函数。打开 include/cls_image.php 文件,大概在678行左右,将 function gd_version() 改成 static function gd_version() 就行了。第1种方法很简单,推荐新手使用。第2种方法:先创建实例,然后再调用实例上的这些函数。打开 install/includes/lib_installer.php 文件,定位到第31行左右,将return cls_image::gd_version();改为$cls_zuimoban_image = new cls_image();return $cls_zuimoban_image->gd_version();上面修改的是ECSHOP安装过程中出现的错误提示,这个要在安装ECSHOP之前就修改好了哦,否则你是装不上的哦,下面我们继续修改ECSHOP使用过程中的错误,修改方法同上,只是修改的文件不同而已。继续打开 includes/lib_base.php 文件,找到第346行左右。将return cls_image::gd_version();修改为$cls_zuimoban_image = new cls_image();return $cls_zuimoban_image->gd_version();结尾语:出现错误不可怕,先要彻底弄清楚错误原因,然后再去修改,这样你在ECSHOP的学习道路上才会越走越顺,以后再出现类似的错误才能应付自如下一篇: ECSHOP报错误Deprecated: preg_replace(): The /e modifier is depr 上一篇: 浅析Ecshop自带的赠品模块