您现在的位置是:首页 > 教程 > ecshop商城教程ecshop商城教程
ecshop错误Redefining already defined constructor for class
靖柏2025-01-01 10:23:51ecshop商城教程已有人查阅
导读本地PHP环境PHP5.4,安装ecshop2.7.3后,很多地方会报如下的错Redefining already defined constructor for class XXX
本地PHP环境PHP5.4,安装ecshop2.7.3后,很多地方会报如下的错
Redefining already defined constructor for class XXX
使用和类名相同点函数名作为构造函数是php4时代的写法,php5时代的构造函数是 __construct(),ecshop为了兼容老版本的php,所以采用了上面的写法。
但是从php5.4开始,对于这样的两种写法同时出现的情况,要求必须__construct()在前,同名函数在后,所以只需要对调两个函数的位置即可。
解决方案:打开ecshop目录下includes/cls_captcha.php,并执行下面操作。
把代码1 放到代码2后面就解决错误了
代码1:
Redefining already defined constructor for class XXX
使用和类名相同点函数名作为构造函数是php4时代的写法,php5时代的构造函数是 __construct(),ecshop为了兼容老版本的php,所以采用了上面的写法。
但是从php5.4开始,对于这样的两种写法同时出现的情况,要求必须__construct()在前,同名函数在后,所以只需要对调两个函数的位置即可。
解决方案:打开ecshop目录下includes/cls_captcha.php,并执行下面操作。
把代码1 放到代码2后面就解决错误了
代码1:
/**
* 构造函数
*
* @accesspublic
* @param string$folder 背景图片所在目录
* @param integer $width图片宽度
* @param integer $height 图片高度
* @returnbool
*/
function captcha($folder = '', $width = 145, $height = 20)
{
if (!empty($folder))
{
$this->folder = $folder;
}
$this->width= $width;
$this->height = $height;
/* 检查是否支持 GD */
if (PHP_VERSION >= '4.3')
{
return (function_exists('imagecreatetruecolor') || function_exists('imagecreate'));
}
else
{
return (((imagetypes() & IMG_GIF) > 0) || ((imagetypes() & IMG_JPG)) > 0 );
}
}
代码2:
/**
* 构造函数
*
* @accesspublic
* @param
*
* @return void
*/
function __construct($folder = '', $width = 145, $height = 20)
{
$this->captcha($folder, $width, $height);
}
posted on 2024-07-01 15:29
本文标签:
很赞哦! ()
下一篇:ecshop学习知识
相关文章
随机图文
-
ecshop支付方式不同实现对应不同商品价格折扣的方法
不少用户希望ecshop可以实现实现不同的支付方式对应不同的价格折扣,默认的模板没有这个功能,我们提供了解决方案。 -
ecshop购物流程电子邮件必填和电话手机怎么去掉
1、include/lib_order.php;2、js/shopping_flow.js 函数checkC**ignee(frm)第582行左右去掉或注释掉 -
ecshop中ajax的调用原理介绍
1、首先ecshop是如何定义ajax对象的。ecshop中的ajax对象是在js/transport.js文件中定义的。里面是ajax对象文件。声明了一个var Ajax = Transport;对象和一个方法Ajax.call = Transport.run; -
ecshop截取中文字符串的代码实例
做ecshop的时候要把用户订单的姓名显示在网页中但是又不想全部显示出来,这时会用到截取中文字符的情况,由于中文的截取经常出现乱码
留言与评论 (共有 条评论) |