您现在的位置是:首页 > cms教程 > Ecshop商城教程Ecshop商城教程
ecshop在PHP7时遇到的兼容报错的解决方法
以亦2025-01-14Ecshop商城教程已有人查阅
导读在 PHP7 上安装 ECShop V2.7.3时,报错!Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ECS has a deprecate
在 PHP7 上安装 ECShop V2.7.3时,报错!Deprecated: Methods with the same name as their class will not be constructors in a future version of PHP; ECS has a deprecated constructor in /usr/local/nginx/html/ecshop/upload/includes/cls_ecshop.php on line 25
这个报错的原因是 PHP7 不再支持与类名相同的构造方法,构造方法统一使用 __construct(), 比如下面的写法 PHP7 就会报这个错误。
果然有与类名相同的构造方法,我们将构造方法 ECS 修改为 __construct,
回到 ecshop 的安装首页刷新,发现已经没有错误了。
单击下一步,报错Deprecated: Non-static method cls_image::gd_version() should not be called statically in /usr/local/nginx/html/ecshop/upload/install/includes/lib_installer.php on line 31
这个报错的原因是静态调用非静态方法,比如下面的代码就会报这个错误
我们看一下报错的文件 lib_installer.php 的 31行代码
还有cls_image类文件的 gd_version() 方法,可以看到的确没有使用 static关键字
第一种修改方式,将该方法修改为静态方法,在方法前加关键字 public static
第二种修改方式,采用非静态方式的调用,修改lib_installer.php 的 31行代码
这两种方法都可以解决问题。
回到ecshop的安装步骤第二页,错误提示已经不见了。
再下一步悲剧了,PHP7 不支持原始的 mysql api 了,PHP7 支持更好的 Mysqli API 和 pdo_mysql api所以 ecshop 不改掉操作 mysql 的 api 是无法在 PHP7 上运行起来了。
这个报错的原因是 PHP7 不再支持与类名相同的构造方法,构造方法统一使用 __construct(), 比如下面的写法 PHP7 就会报这个错误。
<?php
class foo {
function foo() {
echo 'I am the constructor';
}
}
?>
回到 ecshop 我们看一下 cls_ecshop.php 文件的25行。如下果然有与类名相同的构造方法,我们将构造方法 ECS 修改为 __construct,
回到 ecshop 的安装首页刷新,发现已经没有错误了。
单击下一步,报错Deprecated: Non-static method cls_image::gd_version() should not be called statically in /usr/local/nginx/html/ecshop/upload/install/includes/lib_installer.php on line 31
这个报错的原因是静态调用非静态方法,比如下面的代码就会报这个错误
<?php
class foo {
function bar() {
echo 'I am not static!';
}
}
foo::bar();
?>
修改方法也很简单,要么将该方法改为静态方法,要么将该调用改为非静态调用。我们看一下报错的文件 lib_installer.php 的 31行代码
还有cls_image类文件的 gd_version() 方法,可以看到的确没有使用 static关键字
第一种修改方式,将该方法修改为静态方法,在方法前加关键字 public static
第二种修改方式,采用非静态方式的调用,修改lib_installer.php 的 31行代码
这两种方法都可以解决问题。
回到ecshop的安装步骤第二页,错误提示已经不见了。
再下一步悲剧了,PHP7 不支持原始的 mysql api 了,PHP7 支持更好的 Mysqli API 和 pdo_mysql api所以 ecshop 不改掉操作 mysql 的 api 是无法在 PHP7 上运行起来了。
本文标签:
很赞哦! ()
上一篇:ecshop搜索模块代码介绍
下一篇:ecshop主体结构配送方式
图文教程
ecshop关注管理设置使用说明
如客户对某款商品比较喜欢,很希望可以及时获得这款商品的信息,就可以使用关注管理功能,使用该功能后,可以及时关注该商品的变化,待到条件合适时购买。
ecshop首页的精品新品热销里显示商家备注的方法
我想将后台编辑商品时录入的“商家备注”信息显示在ECSHOP商城首页的“精品推荐/新品上市/热卖商品”几个栏目里,请问需要怎么修改呢??
ecshop商品购买数量可以输入购买小数点的解决方法
客户遇到了这样一个问题,不是如何在购买数量上输入小数。因为一般来说,是不要输入小数的,因为像卖菜这种比较特殊,接下来我详细分析一下:
ecshop商品购买数量增加加减按钮插件
ecshop商品页购买数量加减按钮ecshop购物车页加减按钮插件默认模版为例详细教程:找到flow.php里的如下代码
相关源码
-
(PC+WAP)压缩机离心风机红色机械设备营销型网站pbootcms模板基于PbootCMS开发的压缩机/离心风机专用模板,助力机械设备企业构建高效营销平台;模板可编辑压缩机参数表、风机性能曲线等专业展示模块查看源码 -
帝国CMS7.5手游资讯下载综合门户免费网站模板本模板基于帝国CMS7.5内核开发,为手游打造的综合门户网站解决方案。模板设计充分考虑了手业的特性,包含游戏资讯发布、手游下载、礼包发放、开测信息等核心功能模块,满足手游门户网站的各项业务需求。查看源码 -
(PC+WAP)绿色环保建筑设备通用行业pbootcms源码下载通过模块调整可适配园林景观、装配式建筑、绿色装修等生态建设相关领域。预制绿色建材展示、能耗模拟等专业模块,集成项目案例、环保工艺等建筑行业特色内容结构,测试数据包含LEED认证体系查看源码 -
pbootcms模板(PC+WAP)APP应用软件下载类官网源码为APP应用软件官网打造的响应式解决方案,PC端与移动端(WAP)数据实时同步,一次更新全网生效,满足多终端用户无缝体验需求。查看源码 -
(自适应)工业机械设备产品介绍免费pbootcms源码下载本网站模板基于PbootCMS内核精心开发,为机械设备与工业产品制造企业量身打造。设计充分考量行业特性,突出产品展示与技术实力呈现查看源码 -
(自适应)文案文档作文写作word资源网站模板下载本模板基于PbootCMS系统深度开发,针对电影解说、文案分享类网站的特殊需求设计。采用响应式布局技术,确保在手机端和桌面端都能呈现专业的内容展示效果,帮助运营者高效管理影视解说资源。查看源码
| 分享笔记 (共有 篇笔记) |
