香港独立IP空间
香港php空间
美国php空间
域名注册

现如今有运行在php5.5版本环境的ecshop就会发现一些报错,而且很多空间商也不知道怎么解决,而这并不是php空间的问题。现在给大家讲解一下报错及解决方法报错: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一些常用的SQL执行语句

如何处理ECSHOP后台频繁自动退出

后台添加订单提示库存不足BUG解决(ECSHOP2.7.2版本)

本文地址:http://www.51php.com/ecshop/17777.html

喜欢本文或觉得本文对您有帮助,请分享给您的朋友 ^_^

阅读本文的人还阅读:


搜索技术文档