ECShop出现Strict Standards:…
2015-07-18 11:44
441 查看
今天开始研究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文件中发现下面这段代码:
忘记说了,我的PHP版本是5.4.19,PHP5.3以上默认只能传递具体的变量,而不能通过函数返回值传递,所以这段代码中的explode就得移出来重新赋值了:
?
这样之后顶部的报错没掉了,左侧和底部的报错还需要去ecshop的后台点击清除缓存才能去除。
第二种解决方法就是去php.ini里面修改error_reporting,改成error_reporting=E_ALL
& ~E_STRICT,这个意思是显示所有除了严格模式的错误。
改完了之后需要到 ecshop\upload\includes\init.php中,将第45行的:
改成:
这样ecshop\upload\includes\cls_template.php中的代码可以不用改,而且程序可以正确运行,缓存记得去后台清除下。
上面两种方法,我觉得第一种方法比较好,治标要治本,第二种方法有点像是hack过去,而且错误输出关闭对开发本身一件不好的事情,不过如果你在开发环境开启了所有的报错,正式环境关闭所有的报错这样也是没有什么问题的。
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文件中发现下面这段代码:
1 | $tag_sel = array_shift ( explode ( '' , $tag )); |
?
1 2 | $tagArr = explode ( '', $tag ); $tag_sel = array_shift ( $tagArr ); |
第二种解决方法就是去php.ini里面修改error_reporting,改成error_reporting=E_ALL
& ~E_STRICT,这个意思是显示所有除了严格模式的错误。
改完了之后需要到 ecshop\upload\includes\init.php中,将第45行的:
1 | @ ini_set ( 'display_errors' , 1); |
1 | @ ini_set ( 'display_errors' , 0); |
上面两种方法,我觉得第一种方法比较好,治标要治本,第二种方法有点像是hack过去,而且错误输出关闭对开发本身一件不好的事情,不过如果你在开发环境开启了所有的报错,正式环境关闭所有的报错这样也是没有什么问题的。
相关文章推荐
- Linux驱动基础总结
- 【Linux】Ubuntu下录屏&&制作GIF
- Linux LVM过程问题
- 三层架构的思考
- @property括号内属性讲解
- 《学习OpenCV》第四章课后题1-a
- Linux环境下stl库使用(map)
- Kali Linux 建立无线热点 · RTL8188CUS
- 架构师速成4.8-幼儿园书单资料推荐
- 架构师速成4.8-幼儿园书单资料推荐 分类: 架构师速成 2015-07-18 11:03 248人阅读 评论(0) 收藏
- Linux常用命令
- linux设备驱动之总线、设备、驱动
- 站点推荐(ing)
- Linux用户空间与内核空间
- centos 6.5 源码安装apache
- 【Hadoop系列第六章】HBase应用场景、原理与基本架构
- tomcat启动Publishing failed with multiple errors
- 论坛:特殊属性的作用/维护
- linux运维人员需要知道的重要/常用目录介绍
- 网站开发基本常识