解决WordPress版本自动升级后 卡在SQLite数据库升级页面无法完成
2023年初帮朋友用WordPress搭了一个博客,到2024年中朋友找我说博客打不开了。
问题现象

打开博客链接,发现博客自动升级版本了,然后需要迁移升级数据库。点击升级按钮,一直过不去,重复卡在这个页面,也进不了博客主页。这只是个小博客,没有使用单独一个数据库实例,用的是SQLite,由SQLite Database Integration插件提供的。
wordpress自己升级已完成大半了,回不去老版本,目前就卡在数据库这一步,无法进行任何其他操作,后台页面也没法进入,所以只能看看源代码如何解决。
排查原因
查看wordpress的升级脚本 ,发现其中一个环节是会对比数据库版本,如果不是新版本,就会展示需要升级数据库的页面

版本是从一个全局$wpdb实例读取,由于我们使用SQLite,wpdb实例是由sqlite插件implement的,查看插件代码的db_version()的实现 ,发现插件代码里写死了返回5.5,并且最新版本插件里已经改为了8.0。

手动修复
由于目前卡在升级环节,我还不能进入管理后台升级插件,只能手动进入本地wordpress的对应文件修改让db_version()返回8.0

后续处理
修改后,成功完成升级流程进入了博客主页,然后升级一下SQLite插件,以及禁用自动更新

成功解决!