ecshop 2.7.3 向上兼容至php7

首先将includes下的cls_mysql.php重命名为cls_mysqli.php。然后打开,将类名修改为cls_mysqli。修改构造方法。

将与类名相同的方法名全部改为__construct,如果有__construct构造方法,删去。总之只有一个__construct构造方法。以下简称修改构造方法。

参考:http://php.net/manual/zh/language.oop5.decon.php
将cls_mysqli.php里面的mysql_全部替换为mysqli_,区分大小写。
将所有依赖于cls_mysql.php的文件全部修改了。

搜索以下三种方法,这三种方法的参数第一个都是mysql资源id,而,mysql_的这三种方法最后一个参数是mysql资源id,所以要一个一个改了。还好工程量不大。注意,mysqli_connect方法最后要加$dbname参数。
mysqli_connect
mysqli_query
mysqli_select_db

修改下列文件的构造方法

修改includes/lib_base.php

接下来修改includes/cls_template.php,将所有/e模式的preg_replace全部换为preg_replace_callback

然后是includes/lib_debug.php

最后是/admin/template.php

将下列文件的mktime()换成time()

将下列文件end()方法中嵌套调用的全部分解开来写

将下列文件array_shift()方法中嵌套调用的全部分解开来写

将admin/sitemap.php内 & new 全部改为 new
将下列文件中的静态调用全部修改了

冒着被打骚扰的危险注册了云起帐号,下载了ecshop3.0,发现,除了主题好看了点,添加了过滤之外,其他都然并卵。。。云服务多多少少还是有点用处的
不过,里面几个补丁合适可以参考参考的

万事大吉,高版本php全都可以运行了。有问题请留言。有错误请指教。

发布者

gt

QQ: 1520667045 一个名叫坏人的博客,他很想成为WEB攻城狮,因为他认为每个前端开发者的审美观都是很挑的……

《ecshop 2.7.3 向上兼容至php7》上有1条评论

发表评论

电子邮件地址不会被公开。 必填项已用*标注

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据