在PHP5.3以上版本运行ecshop和ecmall出现的问题及解决方案

Posted 林间有风

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在PHP5.3以上版本运行ecshop和ecmall出现的问题及解决方案相关的知识,希望对你有一定的参考价值。

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 StandardsNon-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 重启服务

 

===========================================================

后台:http://localhost/ecshop/admin

=============================================

1.

Fatal error: Call to undefined function curl_init() in........这种错误提示的解决办法!

技术分享

别急!首先得声明,这是因为php的扩张函数没有启动,一样重新启动我们wamp

amp技术分享

================================================================










以上是关于在PHP5.3以上版本运行ecshop和ecmall出现的问题及解决方案的主要内容,如果未能解决你的问题,请参考以下文章

中国银联ecshop 在线支付接口开发,php语言,在shopnc,ecshop,shopex,ecmall,xpshop,ectouch等的wap版本上完美实现移动支付

Ecshop提示Only variables should be passed by reference in错误

ECMALL功能拓扑图以及模式分析

php5.3配啥版本的mysql

001thinkphp开发环境搭建

PHP5.3以上版本没有libmysql.dll,以及由此带来的困扰