标签:
一、
Strict Standards: Only variables should be passed by reference in D:\tiandiyoyo\hengtian\ecshop\upload\includes\cls_template.php on line 424
不淡定了,打开cls_template.php,定位到424行,发现下面内容:
代码如下 | 复制代码 |
$tag_sel = array_shift(explode(‘ ‘, $tag)); |
将其注释掉,分别拆开,添加两行
代码如下 | 复制代码 |
$tag_tmp = (explode(‘ ‘, $tag)); |
这样之后顶部的报错没掉了,左侧和底部的报错还需要去ecshop的后台点击清除缓存才能去除。
二、
客户在安装完模版之后出现includes\lib_main.php on line 1329,仔细检查过后得知php版本是5.3以上的,这样的问题真是不少,如何解决这样的问题,ecshop开发中心给出教程
php 5.3版本兼容问题不少,以上函数参数传递问题可以将lib_main.php on line 1329这句
$ext = end(explode(‘.‘, $tmp));
改为 :
$extsub=explode(‘.‘, $tmp);$tmp=end($extsub);
三、
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
使用编辑器打开,找到下面的构造函数
将
1 function __construct()
2 {
3 $this->alipay();
4 }
放到
1 function alipay()
2 {
3 }
前面。
标签:
原文地址:http://itafei.blog.51cto.com/10862892/1858628