欢迎光临
我们一直在努力

WordPress 提示“另一更新正在进行”怎么办?WP-CLI 修复教程

WordPress 在升级核心版本时,有时会遇到这样的提示:

另一更新正在进行

英文环境中可能显示:

Another update is currently in progress.

此时再次点击更新,WordPress 仍然不会继续升级。

这种情况通常与 WordPress 的核心更新锁有关。

WordPress 在进行核心更新时,会创建一个更新锁,避免多个更新任务同时修改核心文件。

正常情况下更新完成以后会自动释放,但如果升级过程中出现超时、PHP 进程中断、网络异常或者其他问题,更新锁可能暂时残留。

这时可以通过 WP-CLI 进一步检查。

1. 不要一看到提示就立即删除更新锁

首先需要确认:

服务器上是否真的还有 WordPress 更新任务正在执行。

如果确实有另一个更新进程正在运行,此时强行删除锁并同时启动第二个更新任务,可能导致两个更新操作同时修改 WordPress 文件。

因此遇到:

Another update is currently in progress

以后,可以先等待一段时间。

如果过了一段时间仍然无法继续更新,再进行下面的检查。

2. 操作前建议先做备份

WordPress 核心升级通常不会修改文章数据,但正式网站执行升级操作前,仍然建议提前备份。

至少包括:

网站文件;

数据库;

wp-config.php;

自定义主题;

自定义插件。

如果服务器还有足够磁盘空间,可以先创建一份网站文件备份。

例如:

tar -czf wordpress-before-update.tar.gz /www/wwwroot/你的网站目录

数据库则建议使用 MySQL 自身的备份方式。

对于重要生产网站,最好另外保存一份异地备份。

3. 进入 WordPress 网站目录

首先进入 WordPress 安装目录。

例如:

cd /www/wwwroot/example.com

查看当前目录:

ls -la

正常的 WordPress 根目录一般可以看到:

wp-admin

wp-content

wp-includes

wp-config.php

等文件和目录。

不要在错误的网站目录中执行后面的 WP-CLI 命令。

4. 检查 WP-CLI 是否可以使用

执行:

wp --info

如果能够正常显示 WP-CLI 信息,就可以继续。

查看当前 WordPress 版本:

wp core version

如果当前使用 root 用户运行 WP-CLI,部分环境需要增加:

--allow-root

例如:

wp core version --allow-root

如果服务器使用普通网站用户执行 WP-CLI,则通常不需要这个参数。

5. 查看 core_updater.lock

WordPress使用WP-CLI检查core_updater.lock更新锁

可以执行:

wp option get core_updater.lock

root 用户可以执行:

wp option get core_updater.lock --allow-root

如果能够返回一个值,说明当前数据库中存在:

core_updater.lock

更新锁。

但这里不要马上删除。

还应该继续确认服务器上是否真的存在更新进程。

6. 检查是否还有 WordPress 更新任务

可以执行:

ps aux | grep -E '[w]p core update|[p]hp.*wp'

如果没有看到正在执行的 WordPress 核心更新任务,并且后台的更新提示已经长时间没有变化,就更可能是之前更新中断后留下了锁。

如果确实还有更新任务运行,可以先等待任务完成,不要同时执行第二次核心升级。

7. 清理残留的 core_updater.lock

确认没有其他 WordPress 核心更新任务正在执行以后,可以删除更新锁。

执行:

wp option delete core_updater.lock

root 用户:

wp option delete core_updater.lock --allow-root

正常情况下可能看到类似:

Success: Deleted 'core_updater.lock' option.

完成以后,WordPress 的核心更新锁已经清除。

8. 再次检查 WordPress 更新

WordPress清理更新锁并使用WP-CLI重新升级

可以先执行:

wp core check-update

root 用户:

wp core check-update --allow-root

如果存在新的 WordPress 版本,会显示对应更新信息。

然后执行:

wp core update

root 用户:

wp core update --allow-root

WP-CLI 会自动完成下载、解压和 WordPress 核心文件升级。

完成后通常会看到类似成功提示。

9. 升级 WordPress 数据库

核心更新完成以后,可以继续执行:

wp core update-db

root 用户:

wp core update-db --allow-root

如果数据库已经是最新版本,WP-CLI 会直接提示无需升级。

如果新版本需要升级数据库,则会完成相应处理。

10. 确认当前 WordPress 版本

再次执行:

wp core version

或者:

wp core version --allow-root

确认输出已经是升级后的版本。

还可以执行:

wp core check-update

如果当前已经是最新版本,则不会再显示可用核心升级。

11. 验证 WordPress 核心文件

升级完成以后,可以执行:

wp core verify-checksums

root 用户:

wp core verify-checksums --allow-root

该命令可以帮助检查 WordPress 核心文件是否与对应版本的校验信息一致。

如果提示校验成功,说明核心文件基本完整。

如果存在核心文件异常、被修改或者缺失,则需要结合实际提示继续检查。

需要注意:

自定义主题和插件位于 wp-content 中,不属于核心文件校验的主要范围。

12. 更新后网站一直显示维护模式怎么办?

WordPress检查maintenance维护文件和磁盘空间

WordPress 更新过程中可能会在网站根目录生成:

.maintenance

文件。

正常情况下更新完成以后会自动删除。

可以检查:

ls -la .maintenance

如果文件不存在,会提示找不到该文件。

如果确认:

更新任务已经结束;

没有其他 WordPress 更新正在运行;

网站却一直显示维护模式;

并且根目录中仍然存在 .maintenance,

可以先查看文件:

cat .maintenance

确认确实是 WordPress 更新产生的维护文件以后,再删除:

rm -f .maintenance

不要在真实升级任务仍然运行时删除维护文件。

13. 更新一直失败还要检查磁盘空间

WordPress 更新需要:

下载升级包;

解压文件;

写入 WordPress 核心目录;

创建临时文件。

如果服务器磁盘空间不足,也可能导致升级失败。

执行:

df -h

重点检查 WordPress 所在分区的:

Use%

以及剩余空间。

如果磁盘已经接近:

100%

应该先处理磁盘空间问题,再重新尝试更新。

还可以查看 inode:

df -i

即使磁盘还有空间,如果 inode 已经使用完,也可能导致系统无法创建新文件。

14. 检查 WordPress 文件权限

如果 WP-CLI 提示:

Permission denied

或者无法写入 WordPress 文件,可以检查当前目录权限。

执行:

ls -ld .

查看 WordPress 核心目录:

ls -ld wp-admin wp-content wp-includes

确认网站文件所有者和 Web 服务运行用户是否符合当前服务器环境。

不要遇到权限问题以后直接执行:

chmod -R 777 .

这种做法会让整个网站目录获得过宽的权限,不适合作为长期解决方案。

应该根据实际 Web 服务用户和文件所有者进行修复。

15. 没有 wp 命令怎么办?

部分服务器安装了 WP-CLI,但没有配置全局命令。

例如目录中可能存在:

wp-cli.phar

可以尝试:

php wp-cli.phar --info

查看 WordPress 版本:

php wp-cli.phar core version

删除更新锁:

php wp-cli.phar option delete core_updater.lock

执行核心升级:

php wp-cli.phar core update

如果使用 root:

php wp-cli.phar core update --allow-root

不同服务器上的 WP-CLI 保存位置可能不同,应以实际环境为准。

16. PHP 版本不正确怎么办?

有些服务器安装了多个 PHP 版本。

执行:

php -v

看到的 CLI PHP 版本可能和网站实际运行的 PHP-FPM 版本不同。

如果 WP-CLI 提示:

PHP 版本过低;

缺少扩展;

Fatal error;

就需要确认 WP-CLI 当前使用的是哪个 PHP。

例如服务器可能存在:

/usr/bin/php

以及其他 PHP 版本。

应该根据网站和当前 WordPress 版本要求选择合适的 PHP CLI 环境。

不要为了升级 WordPress 随意删除网站正在使用的 PHP 版本。

17. 不建议直接操作数据库删除锁吗?

如果服务器能够正常使用 WP-CLI,优先建议通过:

wp option delete core_updater.lock

处理更新锁。

这样比直接登录数据库手工删除记录更方便,也可以减少误删其他 WordPress 配置的风险。

如果 WP-CLI 完全无法运行,再考虑根据实际环境进一步排查数据库。

不要在不确认表前缀和数据结构的情况下直接执行删除 SQL。

18. 为什么 WordPress 会出现更新锁?

WordPress 创建更新锁主要是为了避免多个核心升级任务同时执行。

例如:

管理员 A 点击更新;

管理员 B 同时再次点击更新;

或者自动更新和人工更新同时开始;

都可能造成核心文件同时被修改。

因此 WordPress 会在更新过程中创建锁。

如果升级正常结束,锁会自动失效或释放。

如果更新过程异常中断,就可能出现一段时间内仍然提示:

另一更新正在进行

这种情况下应该先确认真实更新任务是否已经结束,然后再处理锁。

19. WordPress 更新问题快速排查表

问题现象优先检查
提示另一更新正在进行core_updater.lock
刚点击更新就出现提示先等待当前更新完成
长时间仍无法更新检查更新进程和更新锁
更新后仍在维护模式.maintenance
无法下载或解压磁盘空间、网络
无法写入文件文件权限和所有者
WP-CLI 无法运行PHP CLI、WP-CLI 路径
更新后版本没变化wp core version
怀疑核心文件异常wp core verify-checksums

推荐按照:

等待当前更新 → 检查更新进程 → 检查更新锁 → 清理残留锁 → 重新更新 → 更新数据库 → 验证核心文件

的顺序处理。

20. 完整 WP-CLI 修复流程

如果已经确认没有其他更新任务正在执行,可以按照以下流程进行。

进入网站目录:

cd /www/wwwroot/example.com

检查当前版本:

wp core version --allow-root

查看更新锁:

wp option get core_updater.lock --allow-root

确认没有真实更新任务:

ps aux | grep -E '[w]p core update|[p]hp.*wp'

清理残留锁:

wp option delete core_updater.lock --allow-root

重新升级:

wp core update --allow-root

升级数据库:

wp core update-db --allow-root

最后检查:

wp core version --allow-root

并验证核心文件:

wp core verify-checksums --allow-root

如果所有操作均正常完成,WordPress 更新功能通常已经恢复。

21. 服务器配置建议

WordPress 核心升级本身通常不需要很高的服务器配置。

但如果服务器同时运行:

WordPress;

MySQL;

Redis;

Docker;

多个网站;

备份任务;

在升级期间仍然需要保证足够的:

CPU;

内存;

磁盘空间。

如果服务器资源长期不足,也可能增加升级超时或者应用异常的概率。

如果需要搭建 WordPress 网站,可以根据网站访问量、插件数量以及数据库规模选择莱卡云 Linux 云服务器。

查看官网购买链接: https://www.lcayun.com

22. 总结

WordPress 提示:

另一更新正在进行

通常说明当前存在 WordPress 核心更新锁。

首先不要急着删除。

应该先确认:

服务器上是否真的还有 WordPress 更新任务正在运行。

如果已经确认更新任务结束,但提示长时间没有消失,可以通过 WP-CLI 检查:

wp option get core_updater.lock

确认残留更新锁以后,再执行:

wp option delete core_updater.lock

然后重新运行:

wp core update

升级完成以后,再执行数据库更新和核心文件校验。

如果网站一直显示维护模式,还需要检查 .maintenance。

如果升级反复失败,则继续检查:

磁盘空间;

inode;

文件权限;

PHP CLI;

服务器网络。

按照这个顺序排查,一般可以比较安全地处理 WordPress 核心升级被锁定的问题。

赞(0)
未经允许不得转载:莱卡云 » WordPress 提示“另一更新正在进行”怎么办?WP-CLI 修复教程