今天小编在使用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()
{
}
更改后,我们重新访问网站,发现Strict Standards: Redefining already defined constructor for class alipay in /data/web/includes/modules/payment/alipay.php on line 85 这个报错就没有了。class alipay
{/**
* 构造函数
*
* @access public
* @param
*
* @return void
*/
function alipay()
{
}function __construct()
{
$this->alipay();
}
如上述方法将所有的构造函数放到前面问题就能得到解决。