关于php5.4环境下安装ECshop会出现很多Strict Standards错误、警告等,经过查找,本人总结了一些解决方法。
测试环境 WINDOWS 7 , IIS , PHP 5.4.5 ,MYSQL 5.2
1、php5.4环境下安装ECshop出现includes/cls_template.php on line 406的解决方案。
将 $tag_sel = array_shift(explode(‘ ‘, $tag)); 这句话拆开为两句。
array_shift() 的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值 end(&array) 也一样(后面也会有end的函数,也需要拆分为两行)。
2、php5.4环境下安装ECshop出现includes/lib_base.php on line 346的解决方案。
将cls_image.php 中 function gd_version() 改成 static function gd_version() 即可。
3、PHP Strict Standards: Redefining already defined constructor for class captcha in C:\ecshop\includes\cls_captcha.php on line 120 此问题可造成不显示验证码
尝试方法一:php.ini的 error_reporting 的修改 E_ALL 无效
尝试方法二:
代码:
class captcha {}
function captcha()
{
……..
//省略
……..
}
function __construct()
{
$this->captcha();
}
这里是php4与php5的区别
PHP4中构造方法是一个与类同名的方法,而从PHP5开始,用__construct()做为构造方法,但仍然支持PHP4的构造方法。
如果同时使用的话,如果 同名方法在前的话,则会报错
来源:http://www.wumii.com/item/kbhogUua