ECSHOP完美解决Deprecated: preg_replace()报错的问题


Posted in PHP onMay 17, 2016

随着PHP5.5 的普及,ECSHOP系统又爆出了新的错误。PHP发展到PHP5.5版本以后,有了很多细微的变化。而ECSHOP官方更新又太慢,发现这些问题后也不及时升级,导致用户安装使用过程中错误百出。说了半天,这个新错误到底是什么呢,它的完整错误提示信息是这样的:

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in.......

注意:不是所有人的ECSHOP都会报这个错误,只有使用PHP5.5环境的ECSHOP才会报这个错误。

下面ecshop开发中心(www.68ecshop.com)教程先来说一下错误产生的原因:

1)、错误原因:

preg_replace() 函数中用到的修饰符 /e 在 PHP5.5.x 中已经被弃用了。

如果你的PHP版本恰好是PHP5.5.X,那你的ECSHOP肯定就会报类似下面这样的错误:

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in......

2)、解决办法:

其实从刚才的错误提示信息中我们也能看出一二,它提示我们使用 preg_replace_callback 来代替 preg_replace。

所以解决方法如下:

使用记事本或其他PHP编辑软件(如:editplus)打开文件 includes/cls_template.php ,找到

return preg_replace("/{([^\}\{\n]*)}/e", "\$this->select('\\1');", $source);

替换为

return preg_replace_callback("/{([^\}\{\n]*)}/", function($r) { return $this->select($r[1]); }, $source);

问题解决。

3)、如果你的ECSHOP中其他文件也报类似的 preg_replace错误,请参照上面方法解决之,解决思路和解决方法是一样的。

以上这篇ECSHOP完美解决Deprecated: preg_replace()报错的问题就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

PHP 相关文章推荐
在PHP中使用灵巧的体系结构
Oct 09 PHP
PHP制作图型计数器的例子
Oct 09 PHP
第十四节--命名空间
Nov 16 PHP
php+mysql开源XNA 聚合程序发布 下载
Jul 13 PHP
百度ping方法使用示例 自动ping百度
Jan 26 PHP
php命令行使用方法和命令行参数说明
Apr 08 PHP
php获取网卡的MAC地址支持WIN/LINUX系统
Apr 30 PHP
Yii+upload实现AJAX上传图片的方法
Jul 13 PHP
php安装dblib扩展,连接mssql的具体步骤
Mar 02 PHP
PHP实现十进制、二进制、八进制和十六进制转换相关函数用法分析
Apr 25 PHP
PHP实现微信支付(jsapi支付)流程步骤详解
Mar 15 PHP
php数组函数array_push()、array_pop()及array_shift()简单用法示例
Jan 26 PHP
简单理解PHP的面向对象编程方式
May 17 #PHP
WordPress中的shortcode短代码功能使用详解
May 17 #PHP
CodeIgniter生成静态页的方法
May 17 #PHP
CodeIgniter连贯操作的底层原理分析
May 17 #PHP
CI框架常用方法小结
May 17 #PHP
CodeIgniter记录错误日志的方法全面总结
May 17 #PHP
CI框架整合widget(页面格局)的方法
May 17 #PHP
You might like
php在服务器执行exec命令失败的解决方法
2012/03/03 PHP
PHP生成指定长度随机数最简洁的方法
2014/07/14 PHP
Zend Framework教程之资源(Resources)用法实例详解
2016/03/14 PHP
laravel5创建service provider和facade的方法详解
2016/07/26 PHP
PHP Oauth授权和本地加密实现方法
2016/08/12 PHP
PHP实现递归目录的5种方法
2016/10/27 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
2017/01/22 PHP
老生常谈PHP位运算的用途
2017/03/12 PHP
PHP中的self关键字详解
2019/06/23 PHP
Gambit vs CL BO3 第一场 2.13
2021/03/10 DOTA
js form action动态修改方法
2008/11/04 Javascript
event.keyCode键码值表 附只能输入特定的字符串代码
2009/05/15 Javascript
JS简单实现登陆验证附效果图
2013/11/19 Javascript
jquery插件corner实现圆角边框的方法
2015/03/09 Javascript
js使用onmousemove和onmouseout获取鼠标坐标的方法
2015/03/31 Javascript
JavaScript实现强制重定向至HTTPS页面
2015/06/10 Javascript
jQuery实现iframe父窗体和子窗体的相互调用
2016/06/17 Javascript
js时间戳和c#时间戳互转方法(推荐)
2017/02/15 Javascript
JavaScript标准对象_动力节点Java学院整理
2017/06/27 Javascript
Node.js  事件循环详解及实例
2017/08/06 Javascript
老生常谈JavaScript面向对象基础与this指向问题
2017/10/16 Javascript
JS原型继承四步曲及原型继承图一览
2017/11/28 Javascript
JS温故而知新之变量提升和时间死区
2019/01/27 Javascript
微信小程序实现同一页面取值的方法分析
2019/04/30 Javascript
python如何实现视频转代码视频
2019/06/17 Python
解决Django layui {{}}冲突的问题
2019/08/29 Python
Python高级编程之消息队列(Queue)与进程池(Pool)实例详解
2019/11/01 Python
奥地利度假券的专家:we-are.travel
2019/04/10 全球购物
Coccinelle官网:意大利的著名皮具品牌
2019/05/15 全球购物
系统管理员的职责包括那些?管理的对象是什么?
2013/01/18 面试题
交通安全标语
2014/06/06 职场文书
授权委托书格式
2014/07/31 职场文书
2014年网管工作总结
2014/12/11 职场文书
营销计划书范文
2015/01/17 职场文书
Spark SQL 2.4.8 操作 Dataframe的两种方式
2021/10/16 SQL Server
Redis中key的过期删除策略和内存淘汰机制
2022/04/12 Redis