来源:自学PHP网 时间:2014-11-28 23:31 作者: 阅读:次
[导读] 今天开始研究ECShop,在安装完成的时候发现首页顶部、左侧和底部出现:Strict Standards: Only variables should be passed by reference in F: wamp www ecshop upload includes cls_temp...
Strict Standards: Only variables should be passed by reference in今天开始研究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行的: @ini_set('display_errors',1);改成: @ini_set('display_errors',0); 这样ecshop\upload\includes\cls_template.php中的代码可以不用改,而且程序可以正确运行,缓存记得去后台清除下. 上面两种方法,我觉得第一种方法比较好,治标要治本,第二种方法有点像是hack过去,而且错误输出关闭对开发本身一件不好的事情,不过如果你在开发环境开启了所有的报错,正式环境关闭所有的报错这样也是没有什么问题的. |
自学PHP网专注网站建设学习,PHP程序学习,平面设计学习,以及操作系统学习
京ICP备14009008号-1@版权所有www.zixuephp.com
网站声明:本站所有视频,教程都由网友上传,站长收集和分享给大家学习使用,如由牵扯版权问题请联系站长邮箱904561283@qq.com