ecshop解决php版本5.5的报错问题
更新时间:2014-10-20 点击量:1475
问题一:preg_replace_callback Requires argument 2, 'Array', to be a valid callback
这个错误提醒 第二个参数是一个回调不能为数组
解决方法:找到这个方法调用的地方:
例如:
return preg_replace_callback($pattern, $replace, $source);
改成:
return preg_replace_callback($pattern,
function ($m){
return $this->call_back($m[1]);
},
$source);
再定义 一个call_back 回调方法 即可
function call_back($matches){
return $matches[1].($matches[2]+1);
}
问题二 : preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
代码:return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);
这个问题是以为php 5.5以上版本 抛弃了 preg_replace() 中的 /e;
解决方法:删除 /e 如下:
return preg_replace("/{([^\}\{\n]*)}/", "\$this->select('\\1');", $source);
如果文章对您有帮助,就打赏一个吧
«上一篇:ecshop前台出现找不到这样的目录,打不开某文件的提示 下一篇:详细分析Ecshop自带PayPal标准支付模块支付失败的原因»