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_version();然后在找到include/cls_image.php中的678行,发现gd_version()方法未声明静态static,所以会出错。这时候只要:

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

 

  2.检测环境的时候提示:是否支持 JPEG是不支持的。

  解决:查看发现有libjpeg.lib库,GD2库也有,都加载了,也都正常。查看ecshop源代码发现install/includes/lib_installer.php中第100行,JPEG写成了JPG,正确的应该是:

$jpeg_enabled = ($gd_info['JPEG Support']  === true) ? $_LANG['support'] : $_LANG['not_support'];

 

  为何说Ecshop写错了,因为我打印数组$gd_info的时候,里面的键名是:JPEG Support。而$gd_info数组里的值都是直接调用系统环境变量的。

 

  3.默认时区问题:Warning: date_default_timezone_get(): It is not safe to rely on the system's timezone settings. You are *required* to use the date.timezone setting or the date_default_timezone_set() function. In case you used any of those methods and you are still getting this warning, you most likely misspelled the timezone identifier. We selected the timezone 'UTC' for now, but please set date.timezone to select your timezone. in D:\X\www\ecshop\install\includes\lib_installer.php on line 225

  解决:方法1,将php.ini里是date.timezone前的";"去掉,改成:date.timezone = PRC;

  方法2,在页头使用 ini_set('date.timezone','Asia/Shanghai');

  方法3,在页头使用date_default_timezone_set()设置 date_default_timezone_set('PRC'); //东八时区 echo date('Y-m-d H:i:s');

 

 

 

发现最新版本的PHP(PHP/5.4.16),有很多兼容问题,总是有报错。其实原因是最新版的更严格。

发现有几个地方:

1)类的静态方法,前面必须有static修饰。不能直接写public function fName(),前面必须加上static,否则报错

2)类的继承extends,子类的方法,如果父类也有,那么必须参数一致,否则也会报错。Strict standards: Declaration of UrlPath::Goods() should be compatible with UrlBase::Goods($rs, $param = Array) in

 

补充:Strict standards: Only variables should be passed by reference in E:\SiteAll\ZBPHP.COM\www\includes\cls_template.php on line 418

将 $tag_sel = array_shift(explode(' ', $tag)); 修改为

            $tag_sel = explode(' ', $tag);
            $tag_sel = array_shift($tag_sel);

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值