ECshop迁移到PHP7时遇到的兼容性问题
在PHP7上安装ECShop V2.7.3时报告错误!
与类同名的方法在未来版本的PHP中将不会成为构造函数;ECS在第25行的/usr/local/nginx/html/ECS hop/upload/includes/cls _ ECS hop . PHP中有一个不推荐使用的构造函数
出现此错误的原因是PHP7不再支持与类名相同的构造方法,构造方法统一使用__construct()。例如,PHP7将以下列方式报告此错误。
?php类foo { function foo() {echo '我是构造函数';}}?回到ecshop,让我们看看cls_ecshop.php文件的25行。如下
果然有和类名一样的构造方法,所以我们把构造方法ECS修改为__construct。
回到ecshop的安装主页刷新,发现没有错误。
单击“下一步”报告错误。
第31行的/usr/local/nginx/html/ECS hop/upload/install/includes/lib _ installer . PHP中不应静态调用非静态方法cls _ image:gd _ version()
出现此错误的原因是对非静态方法的静态调用,例如,下面的代码将报告此错误。
?php类foo { function bar() {echo '我不是静态的!';} } foo : bar();通过将方法更改为静态方法或者将调用更改为非静态调用,也很容易修改方法。让我们看看报告错误的文件lib_installer.php的31行。
还有cls图像类文件的gd version()方法,说明没有使用static关键字。
在第一次修改中,将方法修改为静态方法,并在方法之前添加关键字public static。
在第二种修改模式下,通过在非静态模式下调用来修改lib_installer.php的31行代码。
这两种方法都能解决问题。回到ecshop安装过程的第二页,错误提示已经消失。
遗憾的是,PHP7并不支持原来的mysql api,PHP7支持更好的mysql api和pdo_mysql api,所以在不改变mysql API的情况下,ecshop无法在PHP7上运行。
针对PHP的OneAPM可以深入所有PHP应用程序,完成应用程序性能管理和监控,包括代码级性能问题的可见性、性能瓶颈的快速识别和跟踪、真实用户体验监控、服务器监控和端到端应用程序性能管理。
以上分享了ECshop迁移到PHP7时遇到的兼容性问题,希望对大家有所帮助。
版权声明:ECshop迁移到PHP7时遇到的兼容性问题是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。