NexusPHP更新支持PHP7&PHP8

2020年10月14日,我在贴吧发了个帖说要为 NexusPHP 做一个移动端 App,过程中遇到一个比较棘手的问题是如何从富文本中提取有用字段 ,尤其是存在多层嵌套的引用时更是困难。在研读源码时发现 Nexus PHP(以下简称 NP)原来做了很多的处理,各种细节都有考虑,意识到前人在这个项目上花费了不少的心血。国内玩家搭建 Private Tracker 几乎清一色的使用 NP,因为它功能全面又符合国人使用习惯,开箱即用,简单易上手。但 NP 项目年久失修,官网早已不知去向,域名都在拍卖中,目前能找到的代码基本是 nexusphp.v1.5.beta5.20120707,最高能运行在 PHP 5.6 之上。鉴于 PHP 官方团队早已对 5.x 结束支持,目前活跃支持仅支持到 7.3(截止2021-01-04),仅出于安全考虑,也是有必要进行升级的。 用 NP 建站的或许自己做了修改支持了 PHP 7 或以上,但基本不会公开。而有的还玩起了将国外的程序本地化,甚至从头写的都有,这就有点不太现实了。简单统计了一下 NP 的代码量: 443 个文件、2490 行注释、50724 行 PHP+Javascript+CSS,单就代码量来说已经不小了,还要研究 Bencode 以及测试它的整个工作流程,还包含一个论坛程序,从头写谈何容易。 还是做下升级比较实际。近期花了几天时间完成了相关的开发工作。主要的更新有以下几点: Redis 替换 Memcache Mysqli 替换 Mysql preg_replace_callback 替换 /e 修饰符 修复数组下标不加引号引发的 fatal error 修复 $_GET&$_POST 变量未判断直接使用引发的… Continue reading NexusPHP更新支持PHP7&PHP8