WordPress 手动更新问题

WordPress 手动更新后无限跳转“无需升级”页面

今天打开wordpress网站后台,提示wordpress核心有更新提示,最新版7.0.2_cn,试了试自动更新没成功,可能是虚拟机性能带宽太差。

问题复现

决定手动下载最新源码覆盖升级,在全部文件覆盖完后,我试着打开网站首页,提示要更新数据库,我点了更新,提示更新成功然后跳转到了网站首页。我准备进入仪表盘,但是跳转到另一个界面,提示无需升级,点击继续,跳转网站首页,进仪表盘,还是跳转这个无需升级的页面,导致彻底无法进入后台。

image.png

原因分析

这次更新的问题原因是由服务器端的对象缓存(Object Cache) 引起的,我用的是wpoptLiteSpeed缓存来管理缓存的,WordPress 会在 wp-content​ 目录下生成一个名为 object-cache.php​ 的缓存文件,手动覆盖更新后,旧版本的缓存文件没有被清除,导致 WordPress 在读取数据库版本信息时,读取到了缓存中的旧数据,从而误判数据库状态,陷入“认为需要升级 -\> 检查发现已最新 -\> 再次认为需要升级”的死循环。

解决方案

进入wordpress目录,找到/wp-content/object-cache.php​,重命名为object-cache.php.bak或者直接删除即可解决,删除后再访问仪表盘就正常进入了。

‍上边的解决方案治标不治本,上边执行后虽然进入仪表盘了,但重新启用文件缓存,仍然会进入循环中,这是文件缓存没有被清理掉,只是把中间桥梁给中断了,再次连通桥梁,访问的还是旧数据,就仍然进入循环。

本质解决

  1. 定位缓存目录

通过分析 WPOPT 插件源码(object-cache-file.php 第 12 行),确定缓存文件实际存储路径为:

/wp-content/wpopt/cache/

  1. 清空旧缓存文件

通过文件管理器进入/wp-content/wpopt/cache/,删除该目录下所有 cache-*.cache 文件。

  1. 重建缓存环境

· 这时既可以登录进去后台了,进入 WPOPT 插件设置。

· 先关闭“对象缓存”功能并保存,再重新部署开启。

总结

此类问题本质是缓存数据与代码版本不一致所致。解决关键在于找到缓存物理存储位置并彻底清理,而非仅禁用缓存驱动。对于 WPOPT 插件,其缓存路径为 /wp-content/wpopt/cache/,清空该目录后即可顺利执行数据库更新,后续重新启用缓存功能即可恢复正常。

craved 管理员

0篇 本周更新
1篇 本月更新
1个 用户数量
目录

站点性能

运行正常
实时心跳0 ms
页面加载
0
SQL 查询
0
服务端响应
0 ms
峰值内存
0 MB
00 : 00 : 00
2026816星期日