WordPress 提示”另一更新正在进行”?3 种方法彻底解决
本站部分链接为联盟推广链接。通过这些链接购买,我可能获得佣金...
这不仅不会增加您的实际费用,通常还能让您享受到专属折扣。所有上榜推荐均基于真实项目环境下的自费实测,排名完全由客观测评数据决定。详细规则请查阅《免责声明》。
升级 WordPress 版本的时候,有时候会卡在这个报错上:
“Another Update in Process”(另一更新正在进行)
后台更新按钮点不了,刷新也没用,看上去像是系统在跑某个进程,但其实什么都没在跑。
为什么会出现这个报错?
先说清楚根本原因,才知道为什么下面三种方法都能解决它。
WordPress 每次发起更新操作,都会在数据库的 wp_options 表里写入一条叫 core_updater.lock 的记录,相当于一把”锁”。更新正常完成之后,这把锁会自动删除。
但如果更新中途失败了,比如服务器超时、PHP 内存不足、网络中断,锁没来得及删除,就永久留在数据库里了。WordPress 下次检测到这把锁,就认为”已经有一个更新在跑了”,所以拒绝再次发起更新。
解法只有一个:把这条残留记录从数据库里删掉。三种方法都是在干这件事,只是入口不同。
方法一:用插件一键解决(最简单,推荐新手)
插件名:Fix Another Update In Progress
WordPress 插件库直接搜索安装,免费,安装后激活,在插件设置里点一下操作按钮,残留的锁记录就被清掉了。
这个方法对完全不想碰代码和数据库的用户来说是最省事的,操作只需要一两分钟。
缺点是需要多装一个插件,用完建议停用或删除,不需要长期留着。
如果你用宝塔面板管理 WordPress,也可以直接用下面的方法在面板里操作数据库,不需要装额外插件。
方法二:用代码临时修复(适合能编辑主题文件的用户)
这个方法是在主题的 functions.php 文件里临时加一段 SQL,让 WordPress 在加载时自动删掉那条锁记录。
操作步骤:
进入 WordPress 后台 → 外观 → 主题编辑器(或者用宝塔面板的文件管理器直接编辑文件),找到当前激活主题的 functions.php,在文件末尾加上这段代码:
php
global $wpdb;
$wpdb->query("DELETE FROM wp_options WHERE option_name = 'core_updater.lock'");
保存文件,然后重新去尝试更新 WordPress。更新成功后,立刻把这段代码删掉,不要留在文件里。
这段代码每次页面加载都会执行一次删除操作,留着没有意义,而且会给数据库增加不必要的查询。
有几点要注意:如果数据库表前缀不是 wp_,需要把 wp_options 改成你实际的表名,比如 abc_options。不确定前缀是什么,可以在 wp-config.php 文件里找 $table_prefix 这一行。
方法三:直接进数据库删除(最直接,推荐有面板的用户)
这是最彻底也是我自己最常用的方式。不需要装插件、不需要改代码,直接去数据库操作。
用宝塔面板操作(推荐):
宝塔面板 → 数据库 → 点击网站对应的数据库右边的”管理”(进入 phpMyAdmin)→ 选择数据库 → 点左侧的 wp_options 表 → 点顶部的”搜索”选项卡 → 在 option_name 字段搜索 core_updater.lock → 找到这条记录,点删除。
用 SQL 命令直接执行(更快):
在 phpMyAdmin 顶部点”SQL”选项卡,直接输入:
DELETE FROM wp_options WHERE option_name = 'core_updater.lock';
点执行,显示”受影响的行数:1″就说明成功删掉了。然后回到 WordPress 后台重新发起更新。
同样注意,如果你的数据库表前缀不是 wp_,要把表名改成实际的前缀。
三种方法怎么选?
说实话,大多数情况下方法三是我第一选择,直接进数据库删掉那条记录,清楚直接,不需要依赖插件,也不用记得去删代码。
如果你不熟悉数据库操作,方法一装个插件是最无门槛的。
方法二的代码方式,有一个特别容易踩的坑:加上去之后要记得删。见过有人把这段代码忘在 functions.php 里跑了好几个月,虽然没什么严重后果,但不必要。
顺手检查:更新失败的根源是什么?
解决报错之后,建议顺手排查一下这次更新为什么会中途失败。常见原因:
PHP 执行时间太短。 WordPress 更新需要下载、解压、替换文件,如果服务器 PHP 的 max_execution_time 设置太低(比如 30 秒),更新还没跑完就超时了。宝塔面板里可以在网站设置 → PHP 版本设置里调整,一般改成 120~300 秒够用。
内存限制不足。 memory_limit 太低也会导致更新中断。可以在 wp-config.php 里加一行:
php
define('WP_MEMORY_LIMIT', '256M');
FTP 权限问题导致文件无法覆盖。 如果你的 WordPress 配置了通过 FTP 来更新文件,但 FTP 连接失败,更新就会卡住。相关的排查步骤可以看这篇:WordPress 更新报 FTP 错误的解决方法
数据库连接异常。 如果更新过程中数据库突然断连,也可能触发这个问题。数据库相关报错的排查可以看:WordPress 数据库连接错误修复教程
顺利更新完 WordPress 之后,可以做一些基础配置检查,确保站点一切正常:WordPress 安装后必做的基础设置
更多 WordPress 使用教程可以看:WordPress 教程汇总