分享

安装Ecshop首页出现报错常见的问题解决办法

 Alkaid2015 2013-11-02
作者: zayvv    时间: 2013-4-17 23:52     标题: 安装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));
  解决办法 1 5.3以上版本的问题,应该也和配置有关 只要406行把这一句拆成两句就没有问题了
  $tag_sel = array_shift(explode(' ', $tag));
  改成:
  $tag_arr = explode(' ', $tag);
  $tag_sel = array_shift($tag_arr);
  (实验过,绝对可行)因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值 解决办法 修改完了要记得清理缓存。
  2 :或则如果这样配置的话: error_reporting = E_ALL | E_STRICT 估计也可(未测试过,实验中……)
       修改完上面这个问题之后,可能还会出现下面这个问题:
  Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:\**XX\ecshopshi\includes\lib_main.php on line 1316
  经过查询"includes\lib_main.php"文件的1316行发现,还是同样的问题:
  //$ext = end(explode('.', $tmp));
  我们把上面这句拆分为下面这三句:
      $ext = end();   
      $ar = explode('.', $tmp);
      $ext = end($ar);
  就正常了(亲自测试过的,没问题)
  $tmp = basename($tmp,".$ext");
  如果主机的GD库不存在或者版本不同还有可能出现下面这句错误提示:
  Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:\**X\includes\lib_base.php on line 346
  直接找到“includes\lib_base.php”文件的346行左右,将这句:
  //return cls_image::gd_version();
  注释掉就可以了,当然,如果你的程序需要GD库支持,那就要咨询下服务器空间商了,只作简要说明,不详述方法咯,本文所述ECSHOP版本为:ECShop_V2.7.3_UTF8,其它版本未测试,请自行研究啦。
作者: netaxcess    时间: 2013-4-18 09:55

最好选择PHP5。3以下版本
作者: 定制开发    时间: 2013-4-18 10:10

提示: 作者被禁止或删除 内容自动屏蔽
作者: tendon89    时间: 2013-4-25 20:57

这个问题我遇到过,我用的是5.4的版本的,也是用上面的方法解决……
作者: Mrshenl    时间: 2013-6-3 11:53

lib_main.php按照你的方法改了后,提示Warning: end() expects exactly 1 parameter, 0 given in D:\xampp\htdocs\includes\lib_main.php on line 1329

php是5.4.7的
作者: Mrshenl    时间: 2013-6-3 11:54

但是将页面重新刷新一次后,错误就没了...咱回事呢

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章