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 相关文章推荐
建立动态的WML站点(二)
Oct 09 PHP
PHP新手上路(十三)
Oct 09 PHP
PHP 裁剪图片成固定大小代码方法
Sep 09 PHP
解析php中call_user_func_array的作用
Jun 07 PHP
php 模拟 asp.net webFrom 按钮提交事件实例
Oct 13 PHP
Laravel中扩展Memcached缓存驱动实现使用阿里云OCS缓存
Feb 10 PHP
php数组索引与键值操作技巧实例分析
Jun 24 PHP
php简单解析mysqli查询结果的方法(2种方法)
Jun 29 PHP
PHP缓存工具XCache安装与使用方法详解
Apr 09 PHP
thinkPHP5.1框架使用SemanticUI实现分页功能示例
Aug 03 PHP
thinkphp5.1框架中容器(Container)和门面(Facade)的实现方法分析
Aug 05 PHP
php引用传递
Apr 01 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
PHP字符串 ==比较运算符的副作用
2009/10/21 PHP
php 无法加载mysql的module的时候的配置的解决方案引发的思考
2012/01/27 PHP
PHP使用数组实现队列
2012/02/05 PHP
php处理restful请求的路由类分享
2014/02/27 PHP
Zend Framework动作助手FlashMessenger用法详解
2016/03/05 PHP
PHP输出多个元素的排列或组合的方法
2017/03/14 PHP
phpstudy2018升级MySQL5.5为5.7教程(图文)
2018/10/24 PHP
Discuz! 6.1_jQuery兼容问题
2008/09/23 Javascript
利用jQuery的deferred对象实现异步按顺序加载JS文件
2013/03/17 Javascript
为开发者准备的10款最好的jQuery日历插件
2014/02/04 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码
2015/09/09 Javascript
移动端jQuery修正Web页面滑动时div问题的两则实例
2016/05/30 Javascript
jquery操作checkbox火狐下第二次无法勾选的解决方法
2016/10/10 Javascript
详解JavaScript跨域总结与解决办法
2016/10/31 Javascript
jQuery Mobile漏洞会有跨站脚本攻击风险
2017/02/12 Javascript
浅谈vue.js导入css库(elementUi)的方法
2018/03/09 Javascript
vue中node_modules中第三方模块的修改使用详解
2019/05/31 Javascript
ES6实现图片切换特效代码
2020/01/14 Javascript
ant design vue导航菜单与路由配置操作
2020/10/28 Javascript
javascript前端实现多视频上传
2020/12/13 Javascript
[01:03:27]Optic vs VGJ.S 2018国际邀请赛小组赛BO2 第一场 8.17
2018/08/20 DOTA
Python、Javascript中的闭包比较
2015/02/04 Python
Python3计算三角形的面积代码
2017/12/18 Python
Python socket实现简单聊天室
2018/04/01 Python
Python实现通过继承覆盖方法示例
2018/07/02 Python
Python写一个基于MD5的文件监听程序
2019/03/11 Python
HTML5录音实践总结(Preact)
2020/05/07 HTML / CSS
MADE荷兰:提供原创设计师家具
2018/04/03 全球购物
Java基础知识面试题
2014/03/25 面试题
高级销售员求职信
2013/10/25 职场文书
宿舍打麻将检讨书
2014/01/24 职场文书
岗位竞聘演讲稿范文
2014/04/24 职场文书
班主任对学生的评语
2014/04/26 职场文书
干部作风建设年活动剖析材料
2014/10/23 职场文书
Spring Boot 整合 Apache Dubbo的示例代码
2021/07/04 Java/Android