wordpress自动更新4.3后数据库无法升级的解决方法
很久没有来维护博客,今天回来看看,发现wordpress 4.3版本已经可以更新。随之自然的点击了“自动更新”按钮,随之悲剧到来了。在升级完成后,页面返回/wp-admin/时,页面出现如下图的提示:
根据提示点击“升级WordPress数据库”后,页面的内容部分变为空白,如下图:
通过url中的参数step=1得知,这是数据库升级的第一个步骤。出现空白说明此处已经失败,从页面返回的报头500状态来看,也可以断定是程序故障无疑。
通过反复的排查程序以及网上搜索关于删除缓存插件、更改目录权限等方法,都没有找到有效的解决办法。而且此时没有对文章进行导出备份,后台又无法进入,顿时陷入了无路可进的状态。
没办法,只能采取曲线救国的办法了。
首先,分析wordpress进行版本升级比对的依据,通过分析upgrade.php文件第72行的代码,get_option('db_version')得知,改比对依据保存在数据库的wp_options表中。既然知道这个就好办了。
通过查找字段'option_name'字段中的db_version得知 option_value中的33056就是wordpress的具体版本号。我们只需要在数据库中将这个值替换为当前最新版的33056即可(不管你现在的数值是多少,替换为你升级的版本号就行。如果不知道版本号建议是在本地搭个环境看一下)
此时再访问/wp-admin/即可顺利的登入后台。登入后台后再将数据导出,重新安装一次wordpress吧。这个方法虽然不能完美的解决这个问题,但至少花点时间还是可以将网站恢复过来的。推荐使用我之前发布的wordpress最安全、最通用的搬家方法文章中的方法进行wordpress重装。