zoukankan      html  css  js  c++  java
  • PHP5.5下安装配置EcShop

    建议用较旧的PHP版本与EcShop搭配,比如PHP5.3,新版的PHP有很多奇奇怪怪的问题。。。

    错误描述:

    Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in D:xampphtdocsECShopuploadincludescls_template.php on line 300

    Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in D:xampphtdocsECShopuploadincludescls_template.php on line 557

    错误原因:

    preg_replace用到的修饰符/e在php5.5已经被废弃

    解决方法:

    将上述语句替换成:return preg_replace_callback("/{([^}{ ]*)}/", function($r){return $this->select($r[1]);}, $source);

    ---------------------------------------------------------------------------------------------

    错误描述:

    Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:xampphtdocsECShopuploadincludeslib_base.php on line 346

    错误原因:

    “::”调用的方法必须是static的静态方法,而原有的cls_image类的gd_version()方法缺少这个关键字。

    解决方法:

    两种方法任选其一:

    1、将cls_image类的gd_version()前增加static,即:static function gd_version();

    2、先创建cls_image类的实例,再调用gd_version()

    $p = new cls_image();
    //return $p->gd_version();

    ---------------------------------------------------------------------------------------------

    错误描述:

    Strict Standards: Only variables should be passed by reference in D:xampphtdocsECShopuploadincludescls_template.php on line 424

    错误原因:

    中文意思为:“传入的变量只能为引用变量”。array_shift这个函数的参数是引用传递的,php5.3以上默认只能传递具体的变量,而不能通过函数返回值来传递。

    解决方法:

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

    改成:

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

    $tag_sel = array_shift($tag_arr);  

    然后删除工程目录下的temp文件夹,重新拷贝一份原始的temp文件夹进来,再访问首页,就会发现一切正常了!

    ---------------------------------------------------------------------------------------------

    错误描述:

    Strict Standards: mktime(): You should be using the time() function instead in D:xampphtdocsECShopuploadadminshop_config.php on line 32

    Strict Standards: mktime(): You should be using the time() function instead in D:xampphtdocsECShopuploadadminsms_url.php on line 31

    错误原因:

    PHP5.1版后调用mktime()不带参数,会弹出这个违反标准的通知。如果要不带参数调用mktime,等同于调用time(),应用其代替。

    解决方法:

    打开对应的文件,将

    $auth = mktime();

    更改为:

    $auth = time();

    ---------------------------------------------------------------------------------------------

  • 相关阅读:
    Mysql 表分区
    Java json串生成及转bean
    ZK 样式使用
    ZK 使用jfreeChart
    Struct2 csv文件上传读取中文内容乱码
    Mysql 学习笔记
    java 调用C#webservice
    ace 后台管理模板可取之处
    Linux常用命令大全
    将图片转成base64写进hml,无需依赖本地文件
  • 原文地址:https://www.cnblogs.com/AlvinLiang/p/4228223.html
Copyright © 2011-2022 走看看