PHP8.1.21版本已发布
vue8.1.21版本已发布
jquery8.1.21版本已发布

ecshop在php5.4下报错怎么办

藏色散人
藏色散人 原创
2021-03-01 09:19:52 2158浏览

ecshop在php5.4下报错的解决办法:1、打开“cls_template”文件,并修改“$tag_sel=array_shift(explode(' ',$tag));”;2、修改“static”;3、修改cls_captcha文件。

本教程操作环境:windows7系统、PHP5.4版、Dell G3电脑。

PHP5.4环境下ECSHOP网站报错问题集锦

运行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 5.4以上版本的问题,应该也和配置有关 只要406行把这一句拆成两句就没有问题了

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

  改成:

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

  (实验过,绝对可行)因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值 解决办法 修改完了要记得清理缓存。

【推荐学习:《PHP视频教程》】

 

      2、php5.4环境下安装ECshop出现includes/lib_base.php on line 346的解决方案。

 

     将cls_image.php 中 function gd_version() 改成 static function gd_version() 即可。

     3 网站后台验证码不显示PHP Strict Standards:  Redefining already defined constructor for class captcha in D:\web\322\includes\cls_captcha.php on line 119

  打开 includes/cls_captcha.php  

 

找到下面这段代码

   function __construct($folder = '', $width = 145, $height = 20)
    {
        $this->captcha($folder, $width, $height);
    }

将它移到

function captcha($folder = '', $width = 145, $height = 20)

的上边。

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。