服务器环境php大家用的版本不断提高,Ecshop没有来得及修改那么及时。兼容性有问题,有点淘汰了。
在php5.5上安装Ecshop出现报错:
Only variables should be passed by reference
php 5.3以上版本的问题,应该也和配置有关 只要418行把这一句拆成两句就没有问题了
$tag_sel = array_shift(explode(' ', $tag));
改成:
$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);
因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值
修改
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead...?
找到 cls_template.php
$out = "<?php /n" . '$k = ' . preg_replace_callback("/(/'//$[^,]+)/e" , "stripslashes(trim('//1','/''));", var_export($t, true)) . ";/n";
其他页面如果遇此报错,以此类推修改。以上教程仅提供参考.
新闻热点
疑难解答