ECSHOP在PHP5.5及高版本上报错的解决方法


Posted in PHP onAugust 31, 2015

Ecshop却没来得及修改,如果在高版本的php虚拟主机上安装ecshop程序,出现兼容性问题。

小编在本地环境php5.5上安装出现以下两种报错提示

Only variables should be passed by reference php
Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead…?

通过在网络上查找,小编发现并不是只能在低版本的php中安装,也是找到了解决办法,方便大家在php5.5版本上调试程序。小编就在这里把解决方法分享给大家:

先说明第一个问题的解决方法:

php 5.3以上版本的问题,和配置有关 只要418行把这一句拆成两句就没有问题了。

将下列:

$tag_sel = array_shift(explode(' ', $tag));

修改为:

$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);

因为array_shift的参数是引用传递的,5.3以上默认只能传递具体的变量,而不能通过函数返回值

第二个报错解决办法:

找到文件:include/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);

小编目前只遇到这样两个报错,如果在程序调试和开发过程中遇到其他的问题,如果能够解决,小编也是会整理出解决方法的。

ecshop 在高版本PHP下报错的解决方法

1 .ecshop提示Strict Standards: Non-static method cls_image

::gd_version() should not be called statically inE:/wwwroot/weirenchou/includes/lib_base.php on line 346

找到346行吧

return cls_image::gd_version()

替换成:

$p = new cls_image();return $p->gd_version();

2 .ecshop的时候出现如下错误:

Deprecated: preg_replace(): The /e modifier is deprecated, use preg_replace_callback instead in /ecshop/includes/cls_template.php on line 300

打开ecshop的目录找到includes/cls_template.php 到第300行

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

替换成

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

3. Strict Standards: Only variables should be passed by reference in E:/web/shopex/includes/cls_template.php on line 422

$tag_sel = array_shift(explode(' ', $tag));

改成:

$tag_arr = explode(' ', $tag); $tag_sel = array_shift($tag_arr);

4 .会员整合出现

phpbb::set_cookie() should be compatible with integrate

/includes/modules/integrates/phpbb.php on line 232

110行

function set_cookie ($username="")

修改成

function set_cookie ($username="", $remember = NULL)

includes/modules/integrates/phpwind6.php

ucenter.php  vbb.php也是这样修改

ucenter.php 210行修改成

function add_user($username, $password, $email, $gender = -1, $bday = 0, $reg_date = 0, $md5password = '')

127行修改成

function login($username, $password, $remember = NULL)

5. 数据库备份出现

edefining already defined constructor for class cls_sql_dump

/admin/includes/cls_sql_dump.php on line 

 function __construct(&$db, $max_size =)

  {

    $this->cls_sql_dump($db, $max_size);

  }

移到function cls_sql_dump(&$db, $max_size=0)前面

Non-static method cls_sql_dump::get_random_name() admin/database.php on line 64

打开includes/cls_sql_dump.php

 479行

function get_random_name()

修改成

static function get_random_name()
PHP 相关文章推荐
十天学会php之第五天
Oct 09 PHP
php公用函数列表[正则]
Feb 22 PHP
PHP用SAX解析XML的实现代码与问题分析
Aug 22 PHP
一致性哈希算法以及其PHP实现详细解析
Aug 24 PHP
PHP中$_SERVER的详细参数与说明介绍
Oct 26 PHP
php遍历目录与文件夹的多种方法详解
Nov 14 PHP
php通过sort()函数给数组排序的方法
Mar 18 PHP
php简单实现屏蔽指定ip段用户的访问
Apr 29 PHP
Joomla调用系统自带编辑器的实现方法
May 05 PHP
PHP全功能无变形图片裁剪操作类与用法示例
Jan 10 PHP
PHP+mysql实现的三级联动菜单功能示例
Feb 15 PHP
PHP中的self关键字详解
Jun 23 PHP
php基础设计模式大全(注册树模式、工厂模式、单列模式)
Aug 31 #PHP
PHP中error_reporting()用法详解
Aug 31 #PHP
大家在抢红包,程序员在研究红包算法
Aug 31 #PHP
微信公众平台开发之天气预报功能
Aug 31 #PHP
百度地图经纬度转换到腾讯地图/Google 对应的经纬度
Aug 28 #PHP
PHP7.0安装笔记整理
Aug 28 #PHP
php中二维数组排序问题方法详解
Aug 28 #PHP
You might like
下载文件的点击数回填
2006/10/09 PHP
sqlyog 中文乱码问题的设置方法
2008/10/19 PHP
PHP 正则判断中文UTF-8或GBK的思路及具体实现
2013/11/26 PHP
mac下Apache + MySql + PHP搭建网站开发环境
2014/06/02 PHP
使用JQUERY Tabs插件宿主IFRAMES
2010/01/01 Javascript
jquery中实现简单的tabs插件功能的代码
2011/03/02 Javascript
用jQuery中的ajax分页实现代码
2011/09/20 Javascript
用jquery模仿的a的title属性(兼容ie6/7)
2013/01/21 Javascript
js实现鼠标拖动图片并兼容IE/FF火狐/谷歌等主流浏览器
2013/06/06 Javascript
用js判断是否为360浏览器的实现代码
2015/01/15 Javascript
简介AngularJS中使用factory和service的方法
2015/06/17 Javascript
原生javascript实现addClass,removeClass,hasClass函数
2016/02/25 Javascript
Javascript简写条件语句(推荐)
2016/06/12 Javascript
第四篇Bootstrap网格系统偏移列和嵌套列
2016/06/21 Javascript
利用Vue.js+Node.js+MongoDB实现一个博客系统(附源码)
2017/04/24 Javascript
ionic实现下拉刷新载入数据功能
2017/05/11 Javascript
JS设计模式之观察者模式实现实时改变页面中金额数的方法
2018/02/05 Javascript
JS canvas绘制五子棋的棋盘
2020/05/28 Javascript
JavaScript实现动态添加、移除元素或属性的方法分析
2019/01/03 Javascript
vue 使用微信jssdk,调用微信相册上传图片功能
2020/11/13 Javascript
django使用xlwt导出excel文件实例代码
2018/02/06 Python
使用Python和Scribus创建一个RGB立方体的方法
2019/07/17 Python
Django 反向生成url实例详解
2019/07/30 Python
python 利用已有Ner模型进行数据清洗合并代码
2019/12/24 Python
Tensorflow tf.nn.depthwise_conv2d如何实现深度卷积的
2020/04/20 Python
简述python Scrapy框架
2020/08/17 Python
浅析HTML5:'data-'属性的作用
2018/01/23 HTML / CSS
请写一个C函数,若处理器是Big_endian的,则返回0;若是Little_endian的,则返回1
2015/07/16 面试题
企业面试题试卷附带答案
2015/12/20 面试题
2014离婚协议书范文(3篇)
2014/11/29 职场文书
灵魂歌王观后感
2015/06/17 职场文书
2015年教师节新闻稿
2015/07/17 职场文书
WebRTC记录音视频流(web技术分享)
2022/02/24 Javascript
Python中time与datetime模块使用方法详解
2022/03/31 Python
mysql 体系结构和存储引擎介绍
2022/05/06 MySQL
SpringBoot Http远程调用的方法
2022/08/14 Java/Android