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
基于mysql的bbs设计(四)
Oct 09 PHP
怎样在php中使用PDF文档功能
Oct 09 PHP
Fedora下安装php Redis扩展笔记
Sep 03 PHP
PHP抓取网页、解析HTML常用的方法总结
Jul 01 PHP
php ci 获取表单中多个同名input元素值的代码
Mar 25 PHP
PHP处理二进制数据的实现方法
Jun 13 PHP
PHP中explode函数和split函数的区别小结
Aug 24 PHP
Laravel5.5 动态切换多语言的操作方式
Oct 25 PHP
laravel框架分组控制器和分组路由实现方法示例
Jan 25 PHP
php生成随机数/生成随机字符串的方法小结【5种方法】
May 27 PHP
PHP7 windows支持
Mar 09 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
VOLVO车载收音机
2021/03/02 无线电
php判断文件上传类型及过滤不安全数据的方法
2014/12/17 PHP
php三种实现多线程类似的方法
2015/10/30 PHP
浅谈php数组array_change_key_case() 函数和array_chunk()函数
2016/10/22 PHP
Yii2框架实现数据库常用操作总结
2017/02/08 PHP
PHP笛卡尔积实现原理及代码实例
2020/12/09 PHP
jQuery下通过$.browser来判断浏览器.
2011/04/05 Javascript
js中点击空白区域时文本框与隐藏层的显示与影藏问题
2013/08/26 Javascript
JS 实现Table相同行的单元格自动合并示例代码
2013/08/27 Javascript
js字符串完全替换函数分享
2014/12/03 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
浅谈javascript的call()、apply()、bind()的用法
2016/02/21 Javascript
JavaScript通过HTML的class来获取HTML元素的方法总结
2016/05/24 Javascript
全面解析Bootstrap表单样式的使用
2016/09/09 Javascript
jQuery实现CheckBox全选、全不选功能
2017/01/11 Javascript
微信小程序开发之麦克风动画 帧动画 放大 淡出
2017/04/18 Javascript
vue.js 初体验之Chrome 插件开发实录
2017/05/13 Javascript
详解基于 Nuxt 的 Vue.js 服务端渲染实践
2017/10/24 Javascript
微信小程序实现指定显示行数多余文字去掉用省略号代替
2018/07/25 Javascript
实例详解vue中的$root和$parent
2019/04/29 Javascript
vue项目接口域名动态获取操作
2020/08/13 Javascript
python批量生成本地ip地址的方法
2015/03/23 Python
RC4文件加密的python实现方法
2015/06/30 Python
python批量爬取下载抖音视频
2019/06/17 Python
浅析Python 中几种字符串格式化方法及其比较
2019/07/02 Python
Python操作Elasticsearch处理timeout超时
2020/07/17 Python
python openpyxl模块的使用详解
2021/02/25 Python
AJAX的全称是什么
2012/11/06 面试题
Java面试题汇总
2015/12/06 面试题
J2EE面试题
2016/03/14 面试题
汽车运用工程专业求职信
2014/06/18 职场文书
国家奖学金获奖感言
2014/08/16 职场文书
2014年学习厉行节约反对浪费思想汇报
2014/09/10 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
vue中 this.$set的使用详解
2021/11/17 Vue.js
MySQL实现字段分割一行转多行的示例代码
2022/07/07 MySQL