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
win2003服务器使用WPS的COM组件的一些问题解决方法
Jan 11 PHP
kohana框架上传文件验证规则写法示例
Jul 14 PHP
个人写的PHP验证码生成类分享
Aug 21 PHP
php中base64_decode与base64_encode加密解密函数实例
Nov 24 PHP
PHP计算百度地图两个GPS坐标之间距离的方法
Jan 09 PHP
PHP滚动日志的代码实现
Jun 10 PHP
Zend Framework分发器用法示例
Dec 11 PHP
Yii2下点击验证码的切换实例代码
Mar 14 PHP
[原创]php token使用与验证示例【测试可用】
Aug 30 PHP
Laravel中服务提供者和门面模式的入门介绍
Nov 06 PHP
laravel-admin 在列表页添加自定义按钮的例子
Sep 30 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
德生PL990的分析评价
2021/03/02 无线电
php项目打包方法
2008/02/18 PHP
php添加文章时生成静态HTML文章的实现代码
2013/02/17 PHP
codeigniter中测试通过的分页类示例
2014/04/17 PHP
Fatal error: session_start(): Failed to initialize storage module: files问题解决方法
2014/05/04 PHP
从零开始学YII2框架(二)通过 Composer 安装扩展插件
2014/08/20 PHP
php+MySQL判断update语句是否执行成功的方法
2014/08/28 PHP
php获取数组元素中头一个数组元素值的实现方法
2014/12/20 PHP
PHP环境搭建(php+Apache+mysql)
2016/11/14 PHP
浅谈PHP SHA1withRSA加密生成签名及验签
2019/03/18 PHP
js活用事件触发对象动作
2008/08/10 Javascript
asp.net HttpHandler实现图片防盗链
2009/11/09 Javascript
禁止你的左键复制实用技巧
2013/01/04 Javascript
Jquery显示、隐藏元素以及添加删除样式
2013/08/09 Javascript
Jquery的Tabs内容轮换效果实现代码,几行搞定
2014/02/12 Javascript
javascript实现倒计时跳转页面
2016/01/17 Javascript
jquery中键盘事件小结
2016/02/24 Javascript
基于Bootstrap的Metronic框架实现条码和二维码的生成及打印处理操作
2016/08/29 Javascript
JavaScript用构造函数如何获取变量的类型名
2016/12/23 Javascript
Vue中img的src属性绑定与static文件夹实例
2017/05/18 Javascript
使用jquery的jsonp如何发起跨域请求及其原理详解
2017/08/17 jQuery
初识 Vue.js 中的 *.Vue文件
2017/11/22 Javascript
VueRouter导航守卫用法详解
2017/12/25 Javascript
VUE DOM加载后执行自定义事件的方法
2018/09/07 Javascript
JS实现判断数组是否包含某个元素示例
2019/05/24 Javascript
微信小程序canvas绘制圆角base64图片的实现
2019/08/18 Javascript
JavaScript实现筛选数组
2021/03/02 Javascript
django使用html模板减少代码代码解析
2017/12/12 Python
Python 获得命令行参数的方法(推荐)
2018/01/24 Python
tensorflow更改变量的值实例
2018/07/30 Python
python简单区块链模拟详解
2019/07/03 Python
Sunglasses Shop丹麦:欧洲第一的太阳镜在线销售网站
2017/10/22 全球购物
利物浦足球俱乐部官方商店(美国):Liverpool FC US
2019/10/09 全球购物
Ruby如何实现动态方法调用
2012/11/18 面试题
企业安全生产责任书范本
2014/07/28 职场文书
社会实践单位意见
2015/06/05 职场文书