Strict Standards: Non-static method cls_image::gd_version() should not be clled statically in /…/install/includes/lib_installer.php on line 31 。
使用”::”调用php 中的函数,前提必须是statci关键字定义的,否则就会报错。而我们发现这个文件下的代码cls_image类中的函数gd_version()是没有static关键字的。小编研究后整理出了2种研究方案都可以完美解决此类现象的问题。
方案一:
将函数设置为gd_version()静态函数。首先找到include/cls_image.php文件大概在678行左右。
把代码:
Function gd_version()修改为:static Function gd_version()即可。
这一种方法比较简单,如果站长朋友担心麻烦就使用这种方法就看可以了。
方案二:
这个方法有点繁琐,先创建一个实例,再调用以上的静函数方法。首先找到install/includes/lib_installer.php文件。大概在31行左右。
把代码:
Return cls_image::gd_version();
修改为:
$cls_QQ2211707_image = new cls_image();
Return $cls_QQ2211707_image ->gd_version();
然后继续打开include/cls_image.php文件。
把代码:
Return cls_image::gd_version();
修改为:
$cls_QQ87139667_image = new cls_image();
Return $cls_QQ87139667_image ->gd_version();
以上是转载的,我安装的时候也出现此问题我用的是方法一。比较简单。
static关键字:
记住以下几点:
静态属性用于保存类的公有数据
静态方法里面只能访问静态属性
静态成员不需要实例化对象就可以访问
类的内部可以通过self或者static关键字访问自身静态成员
可以通过parent关键字访问父类的静态成员
可以通过类的名称在类定义外部访问静态成员