今天打开ecshop网站时出现了Strict Standards: Only variables should be passed by reference in xxxx 的错误。

错误原因:

PHP5.3以上默认只能传递具体的变量,而不能通过函数返回值传递,所以这段代码中的explode单独拿出来赋值。


解决办法:

打开includes/cls_template.php文件中找到下面这段代码:

$tag_sel = array_shift(explode(' ', $tag));

改为:

$tagArr = explode(' ', $tag);
$tag_sel = array_shift($tagArr);

清除缓存,再次打开就没有了。