ecmall 兼容 php5.5以上版本

  

PHP5.3以上版本运行ecshopecmall出现的问题及解决方案

 

 

ecshop

问题一:商城首页报错 Strict Standards: Only variables should be passed by reference in D:\wamp\ecshop\includes\cls_template.php on line 422

解决方法:

找到提示错误的文件 cls_template.php 及行号

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

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

并且删除 D:\wamp\www\ecshop\temp\caches下所有的文件

问题二:后台首页报错 Strict Standards: Non-static method cls_image::gd_version() should not be called statically in D:\wamp\www\ecshop\includes\lib_base.php on line 346

解决办法

找到D:\wamp\www\ecshop\includes\cls_image.php文件

搜索 function gd_version 改成 static function gd_version

问题三:后台-商店设置 

Strict Standards: mktime(): You should be using the time() function instead in D:\wamp\www\ecshop\admin\sms_url.php on line 31
Strict Standards: mktime(): You should be using the time() function instead in D:\wamp\www\ecshop\admin\shop_config.php on line 32

解决办法

根据错误提示 把 mktime() 改成 time()

 

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

ecmall

问题描述:打开商城首页及后台出现乱码及以下一系列的错误信息

Strict Standards: Non-static method ECMall::startup() should not be called statically in D:\wamp\www\ecmall\index.php on line 22
Deprecated: Assigning the return value of new by reference is deprecated in D:\wamp\www\ecmall\eccore\controller\app.base.php on line 141
Deprecated: Assigning the return value of new by reference is deprecated in D:\wamp\www\ecmall\includes\ecapp.base.php on line 143
Deprecated: Assigning the return value of new by reference is deprecated in D:\wamp\www\ecmall\includes\ecapp.base.php on line 149
Strict Standards: Declaration of FrontendApp::jslang() should be compatible with ECBaseApp::jslang($lang) in D:\wamp\www\ecmall\app\frontend.base.php on line 365
Strict Standards: Declaration of Message::display() should be compatible with FrontendApp::display($tpl) in D:\wamp\www\ecmall\eccore\controller\message.base.php on line 332

Strict Standards: Non-static method Conf::get() should not be called statically, assuming $this from incompatible context inD:\wamp\www\ecmall\app\frontend.base.phpon line 446

解决办法

ecmall安装目录下 找到 ecmall/eccore/ecmall.php

 function get( 改成 static function get(

 function startup( 给成 static function startup(

php安装目录下找到php.ini  error_reporting = E_ALL 改成 error_reporting = E_ALL & ~E_DEPRECATED & ~E_STRICT 重启服务


Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in C:\WWW\eccore\view\template.php on line 1402

 

 

        $pattern = array(

            '/<!--[^>|\n]*?({.+?})[^<|{|\n]*?-->/', // 替换smarty注释

            '/<!--[^<|>|{|\n]*?-->/',               // 替换不换行的html注释

            '/(href=["|\'])\.\.\/(.*?)(["|\'])/i',  // 替换相对链接

            '/((?:background|src)\s*=\s*["|\'])(?:\.\/|\.\.\/)?(images\/.*?["|\'])/is', // images前加上 $tmp_dir

            '/((?:background|background-image):\s*?url\()(?:\.\/|\.\.\/)?(images\/)/is', // images前加上 $tmp_dir

            '/{nocache}(.+?){\/nocache}/ise', //无缓存模块

            );

 

去掉后面的e

 

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in C:\WWW\eccore\view\template.php on line 801

 

 //  $fields = preg_replace('/([a-zA-Z0-9_]+)\.([a-zA-Z0-9_*]+)/e', "\$this->_getFieldTable('\\1') . '.\\2'", $fields);

return preg_replace_callback("/{([a-zA-Z0-9_]+)\.([a-zA-Z0-9_*]+)}/", function($r) { return $this->_getFieldTable($r[1]); }, $fields);

 

 

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in C:\WWW\eccore\view\template.php on line 357

 // return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);

return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->select($r[1]); }, $source);

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值