首页 > SEO学习 > ecshop搬家出现错误总结(PHP5.4以上版本)

ecshop搬家出现错误总结(PHP5.4以上版本)

2014-11-4浏览3,019次

因为公司对小米的界面和功能比较喜欢,所以就用ecshop搭建了网站,网上下载源码测试的过程中出现了很多问题,搜索很多资料最后发现是因为ecshop的源码是老版本的,这样在php高版本的情况下会出现错误,然后整理了一下作为总结。

ecshop搬家出现错误总结(PHP5.4以上版本)

如果程序文件是本地测试运行,那么不会出现以下错误。新安装程序在PHP 5.4.X环境下测试过程中Winter遇到的情况:

一、出现 Strict Standards: Only variables should be passed by reference in in includes/cls_template.php on line 406 的情况最为常见,前台后台都会出现这样的代码,这种情况的解决办法是

$tag_sel = array_shift(explode(' ', $tag));
这句话拆开为两句(注意单引号中间有空格):
$tag_arr = explode(' ', $tag);
$tag_sel = array_shift($tag_arr);

因为 array_shift() 的参数是引用传递的,5.3再往上的版本中,默认只能传递具体的变量,但不可以通过函数返回值 end(&array) 也一样(后面也会有end的函数,也需要拆分为两行)。

二、Strict Standards: Non-static method cls_image::gd_version() should not be called statically in \includes\lib_base.php on line 346

这样的错误一般不是出现在安装的过程里面,Winter是在低版本的PHP环境搭建好网站之后,再转移进PHP5.4以上版本的PHP环境中出现的,这样的错误解决办法如下,要注意这时候后台登陆的验证码是不是不显示。

可以把 cls_image.php 中 function gd_version() 的部分换成 static function gd_version() ,并且把 cls_image.php 中 function gd_version() 换成 static function gd_version() 。

三、Strict Standards: Non-static method cls_image::gd_version() should not be called statically in \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,所以会出错。这时候只要将 function gd_version() 改成 static function gd_version() 即可。

四、Strict standards: Only variables should be passed by reference in \includes\lib_main.php on line 1329

解决的办法是:
$ext = end(explode('.', $tmp));
改为 :
$extsub=explode('.', $tmp);$tmp=end($extsub);

五、Strict standards: Only variables should be passed by reference in \includes\cls_template.php on line 418

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

以上问题如果出现就按照后面的解决办法及时处理,因为虽然个别错误不会影响安装过程,但会导致最终安装结束后的问题会更加复杂。当然,网站在安装的过程中肯定不会仅仅会出现这五种错误的情况,还有大量的可能性,只有不断研究解决和分享,才能共同进步!

本文固定链接: http://www.seowinter.com/?p=1180
转载请注明: Winter 2014-11-4 于 苏州SEO-seoWinter.com 发表

上一篇: :下一篇
返回顶部