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 相关文章推荐
留言板翻页的实现详解
Oct 09 PHP
MySql 按时间段查询数据方法(实例说明)
Nov 02 PHP
让PHP COOKIE立即生效,不用刷新就可以使用
Mar 09 PHP
无JS,完全php面向过程数据分页实现代码
Aug 27 PHP
smarty 缓存控制前的页面静态化原理
Mar 15 PHP
使用PHP备份MySQL和网站发送到邮箱实例代码
Nov 28 PHP
php使用反射插入对象示例分享
Mar 11 PHP
php过滤表单提交的html等危险代码
Nov 03 PHP
php输出指定时间以前时间格式的方法
Mar 21 PHP
PHP中使用curl伪造IP的简单方法
Aug 07 PHP
PHP操作mysql数据库分表的方法
Jun 09 PHP
Laravel接收前端ajax传来的数据的实例代码
Jul 20 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
ThinkPHP php 框架学习笔记
2009/10/30 PHP
apache配置虚拟主机的方法详解
2013/06/17 PHP
用 Composer构建自己的 PHP 框架之设计 MVC
2014/10/30 PHP
php抽奖概率算法(刮刮卡,大转盘)
2020/04/17 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
基于Laravel 多个中间件的执行顺序详解
2019/10/21 PHP
javascript编码的几个方法详细介绍
2013/01/06 Javascript
js对象与打印对象分析比较
2013/04/23 Javascript
jquerymobile局部渲染的各种刷新方法小结
2014/03/05 Javascript
JavaScript验证电子邮箱的函数
2014/08/22 Javascript
JavaScript实现的简单拖拽效果
2015/06/01 Javascript
Node.js开发者必须了解的4个JS要点
2016/02/21 Javascript
Windows系统下安装Node.js的步骤图文详解
2016/11/15 Javascript
HTML中使背景图片自适应浏览器大小实例详解
2017/04/06 Javascript
Angular自定义组件实现数据双向数据绑定的实例
2017/12/11 Javascript
js实现掷骰子小游戏
2019/10/24 Javascript
JS自定义滚动条效果
2020/03/13 Javascript
[02:19]DOTA选手解说齐贺岁
2018/02/11 DOTA
用Python编写一个简单的俄罗斯方块游戏的教程
2015/04/03 Python
Python3读取文件常用方法实例分析
2015/05/22 Python
Python的math模块中的常用数学函数整理
2016/02/04 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
利用 python 对目录下的文件进行过滤删除
2017/12/27 Python
pyqt5对用qt designer设计的窗体实现弹出子窗口的示例
2019/06/19 Python
tensorflow实现将ckpt转pb文件的方法
2020/04/22 Python
五好党支部事迹材料
2014/02/06 职场文书
个人社会实践自我鉴定
2014/03/24 职场文书
学校评语大全
2014/05/06 职场文书
求职信范文大全
2014/05/26 职场文书
广播体操比赛口号
2014/06/10 职场文书
医院标语大全
2014/06/23 职场文书
2014年民政工作总结
2014/11/26 职场文书
MySQL 使用SQL语句修改表名的实现
2021/04/07 MySQL
CSS3实现三角形不断放大效果
2021/04/13 HTML / CSS
使用qt quick-ListView仿微信好友列表和聊天列表的示例代码
2021/06/13 Python
Python利用Turtle绘制哆啦A梦和小猪佩奇
2022/04/04 Python