php专区

 首页 > php专区 > PHP应用 > CMS建站 > Ecshop提示Only variables should be passed by reference in错误

Ecshop提示Only variables should be passed by reference in错误

分享到:
【字体:
导读:
          在安装好ecshop软件之后我们打开首页时提示Only variables should be passed by reference in错误了,碰到这个问题是什么原因呢?下面我们就一起来看看解决办法吧.Ecshop是个坑爹货,为什么ti......

Ecshop提示Only variables should be passed by reference in错误

在安装好ecshop软件之后我们打开首页时提示Only variables should be passed by reference in错误了,碰到这个问题是什么原因呢?下面我们就一起来看看解决办法吧.

Ecshop是个坑爹货,为什么tiandi会说它是个坑爹货呢,请看一下下面的官方的运行环境推荐:

服务器端运行环境推荐

•php版本5.0以上5.3以下的版本(推荐使用5.2系列版本)

•Mysql版本5.0及以上

•空间安装zend

•空间支持文件锁功能

•开启GD功能

•Mysql函数支持mbstring、iconv、fsockopen

看见了吧,PHP5.3以下的版本,还推荐使用5.2的,尼妹的,现在哪个虚拟机还敢用5.3以下的版本?还在用5.3以下的版本?看看tiandi用的2两个主机,衡天的和wopus的都是5.3.28,至于为什么不用5.3以下的版本,自己google”php内存泄露”.

Ecshop上个月刚更新了最新版本,写代码的思路依旧坚挺,仍旧使用5.2版本,好吧,为了做一些测试,需要在本机上进行调试,但本机上装了wp3.9,忘了从哪个版本开始wp只支持5.3以上的php,所以本机的PHP环境是5.4.13,起先,做了两个批处理来切换php5.2.1和php5.4.13,然后发觉一直用批处理切换也累啊,索性直接5.4.13上跑ecshop看看哪里有问题就改哪里吧,结果泥煤的首页直接来个错误.

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));

将其注释掉,分别拆开,添加两行,代码如下:

  1. $tag_tmp = (explode(' '$tag)); 
  2. $tag_sel = array_shift($tag_tmp); 
  3. //$tag_sel = array_shift(explode(' ', $tag)); 
  4. //开源软件:phpfensi.com 

原因在于PHP5.3版本开始,array_shift不支持函数返回,记得之前博客里好像还有个帖子专门说了php5.3版本的改变,刚搜索没找到.

分享到:
ecshop交通银行在线支付插件使用例子 - e...
ecshop交通银行在线支付插件使用例子 最近,一个项目要求做交通银行在线支付,ecshop本身没有这方面的接口,于是通过一些时间的专研,做了一个插件出来,有好的东西,当然要分享,在此特地分享出来,希望能够帮助到跟我一样有需要的人,为大家减轻一下开发的负担,也多请大家指出一些好的方法和建议,相...
ecshop网站后台管理员密码找回办法 - ecs...
ecshop网站后台管理员密码找回办法 有时我们经常把网站的管理密码给忘记了,下面我找到了两种找到管理员密码的方法,有需要了解的同学可进入参考. 方法一,代码如下:
  •         php迷,一个php技术的分享社区,专属您自己的技术摘抄本、收藏夹。
  • 在这里……