新闻中心
Ecshop报错:Strict Standards: Redefining already defined constructor for class
作者 / 无忧主机 时间 2015-10-17 10:21:10
今天小编在使用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 这个报错就没有了。 如上述方法将所有的构造函数放到前面问题就能得到解决。 无忧主机相关文章推荐阅读: ECSHOP教程:设置商品详情页显示折扣和节省 ECSHOP替换系统中商品详情页部分的图片的ALT图片描述 ECSHOP程序如何在后台管理中心修改支付显示顺序的方法
本文地址:https://www.51php.com/ecshop/20382.html