随着中国电商的发展和成熟,Ecshop这款开源的电商平台系统成为千万电商站长的首选建站源码。但是由于站长使用的服务器或者虚拟主机型号的不同,有时候安装的时候也难免会有报错提示。今天万维景盛编辑的一位站长朋友在安装是时候就出现了报错提示如下:Strict Standards: Non-static method cls_image::gd_version() should not be called statically in \includes\lib_base.php on line 346。或者Strict Standards: Non-static method cls_image::gd_version() should not be called statically in \install\includes\lib_installer.php on line 31
万维景盛工程师分析了报错的原因:使用”::”调用php 中的函数,前提必须是statci关键字定义的,否则就会报错。而我们发现这个文件下的代码cls_image类中的函数gd_version()是没有static关键字的。工程师研究后整理出了2种研究方案都可以完美解决这个报错的问题。
两种解决方法:
1)include/cls_image.php中的678行,发现gd_version()方法未声明静态static,将function gd_version()改成static function gd_version()即可。
2)将install/includes/lib_installer.php中的第31行return cls_image::gd_version();改成:
$p = new cls_image();return $p->gd_version();
第二种方案比较复杂,意思是先声明类函数cls_image(),然后调用类里面的gd_version()函数。建议大家首选使用第一种方法。