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
延长phpmyadmin登录时间的方法
Feb 06 PHP
利用yahoo汇率接口实现实时汇率转换示例 汇率转换器
Jan 14 PHP
PHP防范SQL注入的具体方法详解(测试通过)
May 09 PHP
php截取字符串函数substr,iconv_substr,mb_substr示例以及优劣分析
Jun 10 PHP
PHP实现取得HTTP请求的原文
Aug 18 PHP
PHP正则验证Email的方法
Jun 15 PHP
PHP全局变量与超级全局变量区别分析
Apr 01 PHP
php中curl和soap方式请求服务超时问题的解决
Jun 11 PHP
php微信开发之音乐回复功能
Jun 14 PHP
laravel 实现用户登录注销并限制功能
Oct 24 PHP
php传值和传引用的区别点总结
Nov 19 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
Zend引擎的发展 [15]
2006/10/09 PHP
PHP从FLV文件获取视频预览图的方法
2015/03/12 PHP
浅谈thinkphp5 instance 的简单实现
2017/07/30 PHP
PHP实现的字符串匹配算法示例【sunday算法】
2017/12/19 PHP
php设计模式之职责链模式实例分析【星际争霸游戏案例】
2020/03/27 PHP
FireFox下XML对象转化成字符串的解决方法
2011/12/09 Javascript
javascript的动态加载、缓存、更新以及复用(一)
2014/06/09 Javascript
多个jQuery版本共存的处理方案
2015/03/17 Javascript
Javascript编程中几种继承方式比较分析
2015/11/28 Javascript
Bootstrap组件(一)之菜单
2016/05/11 Javascript
微信公众号开发 实现点击返回按钮就返回到聊天界面
2016/12/15 Javascript
jQuery遍历节点方法汇总(推荐)
2017/05/13 jQuery
jQuery接受后台传递的List的实例详解
2017/08/02 jQuery
nodejs对express中next函数的一些理解
2017/09/08 NodeJs
JS实现元素上下左右移动效果
2017/10/18 Javascript
layui radio性别单选框赋值方法
2018/08/15 Javascript
vue-cli2打包前和打包后的css前缀不一致的问题解决
2018/08/24 Javascript
小程序实现页面顶部选项卡效果
2018/11/06 Javascript
AJAX XMLHttpRequest对象创建使用详解
2020/08/20 Javascript
[05:08]DOTA2-DPC中国联赛3月6日Recap集锦
2021/03/11 DOTA
Python写的英文字符大小写转换代码示例
2015/03/06 Python
Python中的ctime()方法使用教程
2015/05/22 Python
Django自定义用户认证示例详解
2018/03/14 Python
Django模板之基本的 for 循环 和 List内容的显示方式
2020/03/31 Python
Pycharm及python安装详细教程(图解)
2020/07/31 Python
自我鉴定写作要点
2014/01/17 职场文书
2014年大学庆元旦迎新年活动方案
2014/03/09 职场文书
一帮一活动总结
2014/05/08 职场文书
公司承诺书范文
2014/05/19 职场文书
小学生三分钟演讲稿
2014/08/18 职场文书
学习教师法的心得体会
2014/09/03 职场文书
党的群众路线教育实践活动个人对照检查材料(公安)
2014/11/05 职场文书
暑期家教宣传单
2015/07/14 职场文书
个人职业生涯规划之自我评估篇
2019/09/03 职场文书
实体类或对象序列化时,忽略为空属性的操作
2021/06/30 Java/Android