首页 > 其他 > 详细

为什么我的ECSHOP出现报错改正确了还是没有反应?

时间:2014-06-24 22:23:51      阅读:420      评论:0      收藏:0      [点我收藏+]

我在刚开始安装完ecshop之后就如首页就开始报如下的错误:

Strict Standards: Only variables should be passed by reference in C:\diyServ\apps\EcShop\includes\cls_template.php on line 422

网上可以搜到这个解决办法就是:由于在php5.3之后php函数返回的是一个值,而explode函数接收的参数必须是一个引用,所以要求必须是变量,将下面的写法

array_shift(explode(‘ ‘,$tag));分为两步:第一步是$tar_arr=explode(‘ ‘,$tab);第二步是array_shift($tar_arr);

因为array_shift接收的应该是一个引用,而不是一个值,而explode函数返回的是一个数组形式的值,并非是数组变量,可能有人要问,这里面有什么区别吗?

来看一下下面的下面的两种写法:

第一种:

array_shift(array(1,2,3,4,5));

函数里面的就是一个数组形式的值,而不是变量,函数的返回值就是以值返回的

array_shift($tab);

上面的函数参数很明显就是一个变量。

在一个函数的参数要求是普通变量时,参数直接写为函数是没有问题的:例如trim(‘/‘,implode(‘/‘,array(‘h‘,‘w‘)));和trim(‘/‘,$str);都是可以通过的,但是如果函数的参数要求是引用形式的话就不能用函数作为参数了,因为函数返回的是一个值,不是变量,必须要通过变量来接收之后再传入函数中。


切入正题:

我发现将以上的错误改了还是报同样的错误;后来才发现ecshop有自己的缓存文件夹temp,位置就在ecshop安装目录下的temp文件夹,进入temp文件夹下,将该文件夹下的文件全部删掉,但是文件夹千万不要删掉!只删除各个文件夹下的文件,这样就能清除缓存了。

为什么我的ECSHOP出现报错改正确了还是没有反应?,布布扣,bubuko.com

为什么我的ECSHOP出现报错改正确了还是没有反应?

原文:http://blog.csdn.net/zhulike2011/article/details/33313145

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!