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 06 PHP
PHP父类调用子类方法的代码例子
Apr 09 PHP
ThinkPHP惯例配置文件详解
Jul 14 PHP
实例讲解PHP面向对象之多态
Aug 20 PHP
php获取随机数组列表的方法
Nov 13 PHP
php实现XSS安全过滤的方法
Jul 29 PHP
php验证码实现代码(3种)
Sep 07 PHP
php验证码的制作思路和实现方法
Nov 12 PHP
WordPress开发中短代码的实现及相关函数使用技巧
Jan 05 PHP
利用php抓取蜘蛛爬虫痕迹的示例代码
Sep 30 PHP
PHP链表操作简单示例
Oct 15 PHP
laravel excel 上传文件保存到本地服务器功能
Nov 14 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 截取字符串函数整理(支持gb2312和utf-8)
2010/02/16 PHP
discuz的php防止sql注入函数
2011/01/17 PHP
php启动时候提示PHP startup的解决方法
2013/05/07 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
Zend Guard使用指南及问题处理
2015/01/07 PHP
Laravel实现用户注册和登录
2015/01/23 PHP
PHP7 新特性详细介绍
2016/09/06 PHP
php图像验证码生成代码
2017/06/08 PHP
Windows平台实现PHP连接SQL Server2008的方法
2017/07/26 PHP
对JavaScript的eval()中使用函数的进一步讨论
2008/07/26 Javascript
jquery 动态合并单元格的实现方法
2016/08/26 Javascript
微信小程序 es6-promise.js封装请求与处理异步进程
2017/06/12 Javascript
Js中将Long转换成日期格式的实现方法
2018/06/05 Javascript
使用vue for时为什么要key【推荐】
2019/07/11 Javascript
javascript面向对象三大特征之封装实例详解
2019/07/24 Javascript
jQuery实现简单全选框
2020/09/13 jQuery
[04:31]2016国际邀请赛中国区预选赛妖精采访
2016/06/27 DOTA
python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
2017/05/24 Python
python re模块的高级用法详解
2018/06/06 Python
Django 实现购物车功能的示例代码
2018/10/08 Python
pytorch中的卷积和池化计算方式详解
2020/01/03 Python
python实现Oracle查询分组的方法示例
2020/04/30 Python
一款纯css3制作的2015年元旦雪人动画特效教程
2014/12/29 HTML / CSS
HTML5的postMessage的使用手册
2018/12/19 HTML / CSS
HTML5自定义属性的问题分析
2019/08/16 HTML / CSS
迪卡侬英国官网:Decathlon英国
2017/04/08 全球购物
少年闰土教学反思
2014/02/22 职场文书
社区党务公开实施方案
2014/03/18 职场文书
护理专科学生自荐书
2014/07/05 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
郭明义观后感
2015/06/08 职场文书
有关浪费资源的建议书
2015/09/14 职场文书
2019思想汇报范文
2019/05/21 职场文书
解决Golang中goroutine执行速度的问题
2021/05/02 Golang
django 认证类配置实现
2021/11/11 Python
Spring Data JPA框架自定义Repository接口
2022/04/28 Java/Android