zoukankan      html  css  js  c++  java
  • 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);
  • 相关阅读:
    2-红帽RHEL 7起步
    1-了解开源共享精神
    5.pip安装时使用国内源,加快下载速度
    4. python-运算符(另类语法)
    海燕python学习目录,特别棒!
    1Python学习CentOS 7 Linux环境搭建
    2python脚本在window编辑后linux不能执行的问题
    3Python脚本在linux环境下头文件解释
    5G 频谱 新技术
    python -实现单例模式五种方法
  • 原文地址:https://www.cnblogs.com/fps2tao/p/9509447.html
Copyright © 2011-2022 走看看