ECSHOP在PHP5.5及高版本上报错的解决方法,ecshopphp5.5_PHP教程
ECSHOP在PHP5.5及高版本上报错的解决方法,ecshopphp5.5
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()

热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

热门话题

作为一个php学习和开发者,怎能不了解其历史?下面php中文网带领php爱好者们一起回顾下php各个历史版本。

ecshop是“B2C”构架;ecshop是一款B2C独立网店系统,适合企业及个人快速构建个性化网上商店;该系统是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序。

ecshop文章排序方法:1、按照发布时间排序,可以通过修改文章的发布时间来控制文章在列表中的排列顺序;2、按照点击量排序,可以通过安装“文章点击排行榜”插件来实现该排序功能,该插件可以统计文章的点击量;3、按照评论数排序,可以通过安装“文章评论排行榜”插件来实现该排序功能,该插件可以统计文章的评论数;4、按照相关度排序,可以通过安装“搜索排名”插件来实现该排序功能。

宝塔面板是一款功能强大、使用方便的服务器管理面板,可以帮助用户轻松管理网站、数据库、FTP等服务。在使用宝塔面板的过程中,有时候会需要切换PHP版本来适配不同的网站需求。本文将为大家提供一个PHP版本切换的简易指南,同时提供具体的代码示例,以帮助读者快速完成PHP版本切换的操作。首先,我们需要登录宝塔面板,进入网站设置页面。在左侧导航栏找到“网站”选项,并点

Ecshop商品管理进阶:学习如何增加字段,需要具体代码示例在使用Ecshop进行商品管理时,经常会遇到需要增加一些自定义字段的情况,以满足特定的需求。通过增加字段,可以实现更加精确的商品管理和更好的用户体验。本文将介绍如何在Ecshop中增加字段,并提供具体的代码示例。首先,我们需要明确增加字段的需求。例如,我们需要在商品详情页增加一个“生产日期”字段,以

特点:1、开源系统,具有灵活性、可定制性和高拓展性;2、支持自主二次开发;3、丰富的模版、插件;4、行业适应能力强;5、避免被软件商束缚;6、更强的可靠性、稳定性;7、移动H5框架升级,基于VUE全面换代,更加灵活开放;8、多级返佣功能,支持二维码、海报等推广方式,无限裂变发展分销商;8、管理端视觉交互全面焕新,UI简洁美观,操作体验升级;9、支持PHP7.2,性能提升一倍。

ECShop是一款B2C独立网店系统,是基于PHP语言及MYSQL数据库构架开发的跨平台开源程序,适合企业及个人快速构建个性化网上商店。ecshop商城系统的特点:1、支持自主二次开发;2、丰富的模版、插件;3、行业适应能力强;4、避免被软件商束缚;5、更强的可靠性、稳定性。

宝塔面板(BTPanel)是一款强大而易用的服务器管理面板,可以帮助用户轻松管理服务器、网站和数据库等服务。作为一名网站开发者或管理员,掌握宝塔面板中PHP版本切换的技巧十分重要。在本文中,将分享如何在宝塔面板中操作、切换PHP版本的方法,并提供具体的代码示例,帮助读者更好地掌握这一技能。1.登录宝塔面板首先,在浏览器中输入服务器IP地址或域名,加上宝塔
