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 相关文章推荐
dedecms模板标签代码官方参考
Mar 17 PHP
PHP print类函数使用总结
Jun 25 PHP
用php简单实现加减乘除计算器
Jan 06 PHP
php判断GIF图片是否为动画的方法
Sep 04 PHP
php实现将任意进制数转换成10进制的方法
Apr 17 PHP
thinkphp微信开之安全模式消息加密解密不成功的解决办法
Dec 02 PHP
Symfony2实现在doctrine中内置数据的方法
Feb 05 PHP
简单谈谈PHP中的include、include_once、require以及require_once语句
Apr 23 PHP
thinkPHP简单导入和使用阿里云OSSsdk的方法
Mar 15 PHP
Yii框架使用PHPExcel导出Excel文件的方法分析【改进版】
Jul 24 PHP
laravel 配置路由 api和web定义的路由的区别详解
Sep 03 PHP
基于PHP实现堆排序原理及实例详解
Jun 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
php获取当月最后一天函数分享
2015/02/02 PHP
Javascript实例教程(19) 使用HoTMetal(6)
2006/12/23 Javascript
javascript 文档的编码问题解决
2009/03/01 Javascript
jQuery UI AutoComplete 自动完成使用小记
2010/08/21 Javascript
jquery操作select option 的代码小结
2011/06/21 Javascript
js过滤特殊字符输入适合输入、粘贴、拖拽多种情况
2014/03/22 Javascript
js实现图片在未加载完成前显示加载中字样
2014/09/03 Javascript
JavaScript中this详解
2015/09/01 Javascript
JavaScript实现标题栏文字轮播效果代码
2015/10/24 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
Vue请求JSON Server服务器数据的实现方法
2018/11/02 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
2019/09/09 Javascript
JS实现audio音频剪裁剪切复制播放与上传(步骤详解)
2020/07/28 Javascript
详解JS深拷贝与浅拷贝
2020/08/04 Javascript
[02:42]完美大师赛主赛事淘汰赛第三日观众采访
2017/11/25 DOTA
Python中的ctime()方法使用教程
2015/05/22 Python
python自带的http模块详解
2016/11/06 Python
使用Python AIML搭建聊天机器人的方法示例
2018/07/09 Python
keras中的卷积层&池化层的用法
2020/05/22 Python
浅谈pytorch 模型 .pt, .pth, .pkl的区别及模型保存方式
2020/05/25 Python
python如何实现读取并显示图片(不需要图形界面)
2020/07/08 Python
经验丰富程序员才知道的8种高级Python技巧
2020/07/27 Python
Python延迟绑定问题原理及解决方案
2020/08/04 Python
html5 div布局与table布局详解
2016/11/16 HTML / CSS
Sahajan美国:阿育吠陀护肤品牌
2021/01/09 全球购物
Java里面有没有全局变量?为什么?
2015/02/06 面试题
怎么写有吸引力的自荐信
2013/11/17 职场文书
给朋友的道歉信
2014/01/09 职场文书
魅力教师事迹材料
2014/01/10 职场文书
浙江文明网签名寄语
2014/01/18 职场文书
防邪知识进家庭活动方案
2014/08/26 职场文书
2014国庆节国旗下演讲稿(精选版)
2014/09/26 职场文书
交通事故责任认定书
2015/08/06 职场文书
六种css3实现的边框过渡效果
2021/04/22 HTML / CSS
关于Vue Router的10条高级技巧总结
2021/05/06 Vue.js
使用tensorflow 实现反向传播求导
2021/05/26 Python