是php5.5版本不对吗

 我来答
DoramiHe
2017-02-11 · 知道合伙人互联网行家
DoramiHe
知道合伙人互联网行家
采纳数:25332 获赞数:59543
2011年中山职业技术学院毕业,现担任毅衣公司京东小二

向TA提问 私信TA
展开全部
现如今有运行在php5.5版本环境的ecshop就会发现一些报错,而且很多空间商也不知道怎么解决,而这并不是php空间的问题。现在给大家讲解一下报错及解决方法报错:preg_replace_callback Requires argument 2, ‘Array’, to be a valid callback
这个报错就是提示:第二个参数不能为数组,只是一个回调,该如何解决呢?首先要找到这个调用的地方,如下:
1 return preg_replace_callback($pattern, $replace, $source);
修改为:
1 return preg_replace_callback($pattern,
2 function ($m){
3 return $this->call_back($m[1]);
4 }
5 $source);
再定义“call_back”回调方法,即可
1 function call_back($matches){
2 return $matches[1].($matches[2]+1);
3 }
问题:
1 preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead
其中有段代码:
1 return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source)
此问题是以为php 5.5以上版本抛弃了“preg_replace()”中的 “/e”其实删除掉“/e”即可解决,如下:
view sourceprint?
1 return preg_replace("/{([^\}\{\n]*)}/","\$this->select('\\1');",
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式