Strict Standards: Only variables should be passed by reference in
发布:smiling 来源: PHP粉丝网 添加日期:2014-07-17 16:18:41 浏览: 评论:0
今天开始研究ECShop,在安装完成的时候发现首页顶部、左侧和底部出现:
Strict Standards: Only variables should be passed by reference in F:\wamp\www\ecshop\upload\includes\cls_template.php on line 418
的报错信息.
第一种解决方法是到cls_template.php文件中查找下面这段代码:
- $tag_sel
- =
- array_shift(explode('',$tag));
忘记说了,我的PHP版本是5.4.19,PHP5.3以上默认只能传递具体的变量,而不能通过函数返回值传递,所以这段代码中的explode就得移出来重新赋值了:
- $tagArr
- =
- explode('',$tag);
- $tag_sel = array_shift($tagArr);
这样之后顶部的报错没掉了,左侧和底部的报错还需要去ecshop的后台点击清除缓存才能去除.
第二种解决方法就是去php.ini里面修改error_reporting,改成error_reporting=E_ALL & ~E_STRICT,这个意思是显示所有除了严格模式的错误.
改完了之后需要到 ecshop\upload\includes\init.php中,将第45行的:
@ini_set('display_errors',1);改成: @ini_set('display_errors',0);
这样ecshop\upload\includes\cls_template.php中的代码可以不用改,而且程序可以正确运行,缓存记得去后台清除下.
上面两种方法,我觉得第一种方法比较好,治标要治本,第二种方法有点像是hack过去,而且错误输出关闭对开发本身一件不好的事情,不过如果你在开发环境开启了所有的报错,正式环境关闭所有的报错这样也是没有什么问题的.
Tags: Strict Standards: Only variables
- 上一篇:ecshop运行超过30秒超时的限制解决办法
- 下一篇:ecshop实时刷新浏览次数
相关文章
- ·php5.4环境下安装ECshop出现Strict Standards的解决方案(2014-07-21)
- ·ecshop提示Strict Standards: Non-static method cls_image::gd_version() (2014-12-02)
- ·ecshop提示Strict Standards: Only variables should be passed by reference in错(2014-12-02)
- ·php5.5中ecshop提示Only variables should be passed by reference(2015-04-04)
- ·Ecshop提示Only variables should be passed by reference in错误(2014-09-20)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)