• 安装ecshop出错


     在安装Ecshop的时候,遇到两个问题:

      1.Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:Xwwwecshopinstallincludeslib_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数组里的值都是直接调用系统环境变量的。

    出现下面这就话:

    Strict Standards: Only variables should be passed by reference in E:ToolsECShop_V2.7.3_UTF8_release1106uploadincludescls_template.php
    on line 418
    第418行:$tag_sel = array_shift(explode(' ', $tag));
    解决办法 1 
    5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了  $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
  • 相关阅读:
    18.综合应用判断素数
    17.综合应用判断素数
    16.综合应用判断素数
    15.for循环的三个表达式是可以省略
    14.循环的理解
    myeclipse2014中搭建SSH环境注意事项
    Java web设计模式学习
    问题1:myeclipse中导入新JSP项目出现红色感叹号
    Java集合类学习笔记
    Java 复习第一部分:知识体系、变量、运算部分
  • 原文地址:https://www.cnblogs.com/it80/p/5165563.html
Copyright © 2020-2023  润新知