欢迎来到元素模板ys720.com,本站提供专业的织梦模板PBOOTCMS模板网站模板网站修改/网站仿站
当前位置:主页 > 程序教程 > ECSHOP教程 >
ECSHOP教程

Ecshop报错:Strict Standards: Redefining already defined constructor for class

(元素模板) / 2021-10-27 11:11

今天小编在使用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 使用编辑器打开,找到下面的构造函数 将

    function __construct()
    {
        $this->alipay();
    }

放到

    function alipay()
    {
    }

前面。 更改后如下图:

class alipay
{

/**
* 构造函数
*
* @access public
* @param
*
* @return void
*/
function alipay()
{
}

function __construct()
{
$this->alipay();
}

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

如上述方法将所有的构造函数放到前面问题就能得到解决。
Copyright @ 2013-2021 元素模板 www.ys720.com All Rights Reserved. 版权所有 元素模板 www.ys720.com