• Ecshop安装过程中的的问题:cls_image::gd_version()和不支持JPEG


    在安装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数组里的值都是直接调用系统环境变量的。

      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:Xwwwecshopinstallincludeslib_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:SiteAllBPHP.COMwwwincludescls_template.php on line 418

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

                $tag_sel = explode(' ', $tag);
                $tag_sel = array_shift($tag_sel);
  • 相关阅读:
    玩游戏 学Flex布局
    解决:父级元素不能被子元素内容撑开的解决办法,父级元素没有高度的解决办法
    Flex 项目属性:flex 布局示例
    display: flex; 布局
    box-sizing 的作用
    <a>标签里面直接嵌套图片,<img>下面出现一小段空白的原因
    ucore操作系统实验学习笔记2
    ucore 操作系统学习笔记1 -- 环境搭建
    LeetCode题解之 Assign Cookies
    LeetCode题解之Lemonade Change
  • 原文地址:https://www.cnblogs.com/fps2tao/p/9509447.html
Copyright © 2020-2023  润新知