码迷,mamicode.com
首页 > 其他好文 > 详细

ECSHOP安装或使用中提示Strict Standards: Non-static method cls_image:

时间:2016-05-25 22:19:31      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:

随着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安装或使用中提示Strict Standards: Non-static method cls_image:

标签:

原文地址:http://www.cnblogs.com/mfc-itblog/p/5528441.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!