Ecshop 安装时错误
网上提示方法将install/includes/lib_installer.php以下内容修改后仍然提示失败:
include(ROOT_PATH . 'install/languages/' . $system_lang . '.php');
修改为
include(ROOT_PATH . 'install/languages/zh_cn.php');
解决办法:
在install/includes/init.php文件里加入一句
date_default_timezone_set ('Asia/Shanghai');
PHP Warning: date(): It is not safe to rely on the system’s timezone settings
通过观察nginx的错误日志,发现大量的如下错误:
通过搜索,发现从php5.3 ,当对使用date()等函数时,如果timezone设置不正确,在每一次调用时间函数时,都会产生E_NOTICE 或者 E_WARNING 信息。知道了问题的根源,解决的方法有三种,任选一种即可。
注意:上述设置都是针对中国大陆来设置的,同时PRC也可以用Asia/Shanghai,Asia/Chongqing,Asia/Urumqi来代替。
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()
问题四:后台-起始页
Strict Standards: Redefining already defined c**tructor for class alipay in D:\www\es\includes\modules\payment\alipay.php on line 85
解决办法
1)、错误原因:
PHP 类,有两种构造函数,一种是跟类同名的函数,一种是 __contruct()。从PHP5.4开始,对这两个函数出现的顺序做了最严格的定义,必须是 __c**truct() 在前,同名函数在后
2)、
解决方法:
调换一下两个函数的前后位置即可。
以 includes/modules/payment/alipay.php  为例:
将下面这两个函数的位置互换一下就OK了,__contruct()在前,alipay()在后
-    function alipay()    {
-     }
-     function __contruct()
-     {
-         $this->alipay();
- }
3)、ECSHOP的很多类文件 都存在这个问题,都需要修改掉。
问题五:后台-数据备份
 Strict standards: Redefining already defined constructor for class cls_sql_dump in D:\wamp\www\ecshop\admin\includes\cls_sql_dump.php on line 90
Strict standards: Non-static method cls_sql_dump::get_random_name() should not be called statically in D:\wamp\www\ecshop\admin\database.php on line 64
解决办法
根据错误提示 把 cls_sql_dump的 function __construct()改到 function cls_sql_dump()的前面
把 cls_sql_dump的 function get_random_name()改成 static  function get_random_name()
问题六:
Deprecated: Assigning the return value of new by reference is deprecated in \admin\sitemap.php on line 46
$sm =& new google_sitemap();
解决办法
在5.3版本之后已经不允许在程序中使用”=&”符号。如果你的网站出现了Deprecated: Assigning the return value of new by reference is deprecated in 错误,别着急,先定位到出错的文件,查找下是不是在程序中使用了”=&”,例如刚才定位到网站程序中发现了下图的程序,发现使用了”=&”符号,去掉‘&’符号之后程序运行正常
问题七:
Declaration of phpbb::set_cookie() should be compatible with integrate::set_cookie...
解决办法:把function set_cookie ($username="") 改为function set_cookie ($username="", $remember = NULL)即可
问题八:
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in..
解决办法:
我遇见了有两处,都在cls_template.php文件中:
 1、return preg_replace("/{([^\}\{\n]*)}/e", "\$this->sel ect('\\1');", $source);
替换为
return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->sel ect($r[1]); }, $source);
问题解决。
2、$val = preg_replace("/\[([^\[\]]*)\]/eis", "'.'.str_replace('$','\$','\\1')", $val);
替换为
 $val= preg_replace_callback("/\[([^\[\]]*)\]/eis",function($r){return str_replace('$','\$',$r[1]);}, $val);
问题解决
Ecshop 安装时错误的更多相关文章
- TensorFlow安装时错误CondaValueError: prefix already exists: G:\softs\Anaconda\envs\tensorflow
		TensorFlow安装时,TensorFlow环境已经调好了,就是下面的第(3)步, 可我自己偏偏选了个Python3.7,因为检测到自己的Python最新版本为3.7,就手贱安了TensorFlo ... 
- JDK8安装时错误1335的解决
		Win7安装JDK8 update65版本时,碰到错误1335,错误信息大概是一个cab文件损坏了,搜索了一下,有网站提供这个错误的修补工具,不过最终我没有下载这个工具,说是系统问题,但工具不是MS官 ... 
- ECShop安装及错误修复
		ecshop 商城的安装及出现错误的解决 听语音 | 浏览:600 | 更新:2016-03-04 16:02 | 标签:错误 安装 电子商务 1 2 3 4 5 6 7 分步阅读 昨天第一次安装ec ... 
- mongodb 安装时错误
		1.安装MongoDB进度条长时间不动 根据在网上搜的步骤安装mongoDB到这步,就基本上卡死不动,在网上查到的办法是死等,等了半个小时,但运气不好半个小时也不一定安装成功. 如果进行到这步,卡死在 ... 
- SQL2005SP4补丁安装时错误: -2146233087 MSDTC 无法读取配置信息。。。错误代码1603的解决办法
		是在安装slq2005sp3和sp4补丁的时候碰到的问题. 起先是碰到的错误1603的问题,但网上搜索的1603的解决办法都试过了,google也用了,外文论坛也读了,依然没有能解决这个问题. 其实一 ... 
- yum 安装时错误 Errno 14 Couldn't resolve host 解决办法(转)
		在安装mlocate的时候发现一直报错,错误内容大致如下 Downloading Packages:http://mirrors.163.com/centos/6.5/os/i386/Packages ... 
- CentOS yum 安装时错误 Errno 14 Couldn't resolve host 解决办法
		在虚拟机上安装完CentOS6.5之后,首次使用时yum命令安装软件时,出现一堆的” Errno 14 Couldn't resolve host”这个问题. 上网上查了半天,很多都说在/etc/re ... 
- yum 安装时错误 Errno 14 Couldn't resolve host 解决办法
		后来网上查了一下说是DNS服务器错误.于是修改一下 /etc/resolv.conf 添加一个nameserver 8.8.8.8完成 
- 008. asp.net mvc3.0安装文件及其安装时发生错误的解决方案
		0. 安装步骤: vs2010 → vs2010sp1→ AspNetMVC3Setup.exe→ AspNetMVC3Setup_CHS.exe→ AspNetMVC3ToolsUpdateSetu ... 
随机推荐
- Oracle数据库——SQL高级查询
			一.涉及内容 1.掌握SELECT语句的多表连接查询. 2.掌握SELECT语句的子查询. 二.具体操作 (一)根据Oracle数据库scott方案下的emp表和dept表,完成下列操作: 1.查询所 ... 
- 在VS 2015 RTM 版中 提示 未能正确加载 NuGetPackage包
			在原来的项目中曾经启用了Nuget在编译时还原包功能.这样就会在 *.sln在平行目录生成 一个.Nuget文件夹, 删除了它,就好了. 我分析原因是, VS 2015 使用的是 NugetP ... 
- #linux包之lsof之lsof命令
			2015/3/18查漏补缺,反复练习命令,有不明白或疑问的地方直接看man手册页,英文解释的比较清楚 man lsof 已阅 概述 [root@localhost ~]# rpm -qa|grep l ... 
- unity, polygon collider 2D 添加顶点
			正常情况下只要按下了Edit Collider按钮,鼠标停在polygon collider 2D的一条边上,就会出现一个虚拟的新顶点,此时如果按下鼠标,新顶点就创建出来了. 但是我今天遇到一个奇怪的 ... 
- Problem A+B(Big Integer)
			/*======================================================================== Problem A+B(Big Integer) ... 
- 深入认识JavaScript 中的this指针
			深入认识JavaScript 中的this指针this指针是面向对象程序设计中的一项重要概念,它表示当前运行的对象.在实现对象的方法时,可以使用this指针来获得该对象自身的引用.和传统意义的面向对象 ... 
- Android 检测网络连接状态
			Android连接网络的时候,并不是每次都能连接到网络,因此在程序启动中需要对网络的状态进行判断,如果没有网络则提醒用户进行设置. 首先,要判断网络状态,需要有相应的权限,下面为权限代码(Androi ... 
- ubuntu 安装 VISUAL STUDIO CODE
			1.下载VISUAL STUDIO CODE .DEB/.RPM 2. # For .deb sudo dpkg -i <file>.deb # For .rpm (Fedora and ... 
- 样本方差:为嘛分母是n-1
			在样本方差计算式中,我们使用Xbar代替随机变量均值μ. 容易证明(参考随便一本会讲述样本方差的教材),只要Xbar不等于μ,sigma(Xi-Xbar)2必定小于sigma(Xi-μ)2. 然而,要 ... 
- 【Linux】系统 之 Load
			一.查看系统负荷 在Linux系统中,我们一般使用uptime命令查看(w命令和top命令也行).你在终端窗口键入uptime,系统会返回一行信息.这行信息的后半部分,显示"load ave ... 
