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();

时间: 2024-10-25 18:50:03

ECSHOP安装或使用中提示Strict Standards: Non-static method cls_image:的相关文章

安装ECMall后报PHP Strict Standards错误,请问如何解决

Strict Standards: Non-static method ECMall::startup() should not be called statically in /htdocs/ecmall/index.php on line 22 Deprecated: Assigning the return value of new by reference is deprecated in /htdocs/ecmall/eccore/controller/app.base.php on

ECshop Strict Standards: Only variables should be passed by reference in解决办法

本文章来给各位同学介绍关于ECshop Strict Standards: Only variables should be passed by reference in解决办法,希望此教程 对各位同学有所帮助. 错误提示 Strict Standards: Only variables should be passed by reference in D:/wamp/ecshop/includes/cls_template.php on line 406 用软件打开406行是这句话$tag_s

ecshop安装过程中的问题:cls_image::gd_version();不支持JPEG;Deprecated: preg_replace();Strict Standards;

在安装Ecshop的时候,遇到好多好多问题: 1.Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:\X\www\ecshop\install\includes\lib_installer.php on line 31 解决:找到install/includes/lib_installer.php中的第31行   return cls_image::gd

ECShop出现Strict Standards: Only variables should be passed by reference in的解决方法

今天安装ecshop的时候最上面出现了一个错误提示:Strict Standards: Only variables should be passed by reference in F:\www.xxxx.com\cls_template.php on line 418 解决办法: 打开cls_template.php文件中发现下面这段代码: $tag_sel = array_shift(explode(' ', $tag));忘记说了,我的PHP版本是5.4.19,PHP5.3以上默认只能传

Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG

在安装Ecshop的时候,遇到两个问题: 1.Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:\X\www\ecshop\install\includes\lib_installer.php on line 31 解决:找到install/includes/lib_installer.php中的第31行   return cls_image::gd_v

已解决:Strict Standards: Only variables should be passed by reference in

今天安装ecshop的时候最上面出现了一个错误提示:Strict Standards: Only variables should be passed by reference in F:\www.xxxx.com\cls_template.php on line 418 解决办法: 打开cls_template.php文件中发现下面这段代码: $tag_sel = array_shift(explode(' ', $tag));忘记说了,我的PHP版本是5.4.19,PHP5.3以上默认只能传

ecshop安装常见问题及解决办法

一,Ecshop首页出现报错:Only variables should be passed by referen 最近想安装一个ECSHOP商城上去,老是报错,出现下面这就话: Strict Standards: Only variables should be passed by reference in D:\**\includes\cls_template.php on line 406 第406行:$tag_sel = array_shift(explode(' ', $tag));

Ecshop安装cls_image::gd_version()和不支持JPEG解决方法

在安装Ecshop的时候,遇到两个问题: 一.Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:\X\www\ecshop\install\includes\lib_installer.php on line 31 解决办法: 找到install/includes/lib_installer.php中的第31行   return cls_image::g

大型ECShop安装搬家升级错误问题最全攻略

[引子] 最近将ECShop框架网站从租用服务器搬家至阿里云,虽然模块及功能上已经被修改的面目全非了,但基础部分还在. 在这个过程中遇到了很多的WARNING与ERROR,解决方案如下. [环境] 服务器环境由PHP5.3+MySQL5.6更新至PHP5.6+MySQL5.7 [数据库] 利用navicat for mysql工具导入导出,出现异常:Invalid default value for 'create_time',具体可参考上一篇随笔.http://www.cnblogs.com/