Bootstrap

ecshop建站问题:Strict Standards: Redefining already defined constructor for class alipay in /data/web/in

今天小编在使用ecshop建站的时候遇到了一个问题,报错提示:
Strict Standards: Redefining already defined constructor for class alipay in /data/web/includes/modules/payment/alipay.php on line 85
这样的报错有很多,基本格式是:
Strict Standards: Redefining already defined constructor for class后面加路径。
经过小编研究是因为ECSHOP模板架设的服务器php虚拟主机版本过高而发送报错。  PHP 类,有两种构造函数,一种是跟类同名的函数,一种是 ____construct()。从PHP5.4开始,对这两个函数出现的顺序做了最严格的定义,必须是 ____construct() 在前,同名函数在后
那这个问题要怎解决呢?
下面以这个报错为例
Strict Standards: Redefining already defined constructor for class alipay in /data/web/includes/modules/payment/alipay.php on line 85
找到文件alipay.php
使用编辑器打开,找到下面的构造函数

1     function __construct()
2     {
3         $this->alipay();
4     }

放到

1     function alipay()
2     {
3     }

前面。
更改后如下图:

ec 2015 10 17 1 300x215 Ecshop报错:Strict Standards: Redefining already defined constructor for class

1 class alipay
2 {
3  
4 /**
5 * 构造函数
6 *
7 * @access public
8 * @param
9 *
10 * @return void
11 */
12 function alipay()
13 {
14 }
15  
16 function __construct()
17 {
18 $this->alipay();
19 }

更改后,我们重新访问网站,发现Strict Standards: Redefining already defined constructor for class alipay in /data/web/includes/modules/payment/alipay.php on line 85
这个报错就没有了。

如上述方法将所有的构造函数放到前面问题就能得到解决。


;