升级 WordPress 提示 “另一更新正在进行” 的原因和解决办法

最近在给 WordPress 升级新版本的时候,出现提示 “另一更新正在进行”,多次更新均为解决,如图:

升级 WordPress 提示 “另一更新正在进行” 的原因和解决办法插图

很显然,这是更新进程锁定了,才出现 “另一更新正在进行” 的提示。那么什么原因引起的更新进程锁定?

1、网络不稳定,在更新程序的时候出现服务器网络故障、负载过高,IO使用率高、等等。

2、网站开启了 CDN 加速,很是奇怪,按道理来说这个不会影响更新的,但是的确如此。应该是 WordPress 程序更新的过程开启了某些安全校验,比如不允许使用代理等。

一旦更新进程锁定了,在网站数据库 wp_options 表中,会增加一条 option_name 名为 core_updater.lock 的行:

升级 WordPress 提示 “另一更新正在进行” 的原因和解决办法插图1

就是这行锁定了更新进程。如果找不到多翻几行看看,这个表里的数据很多。或者直接运行下面语句进行查找:

SELECT * FROM `wp_options` WHERE option_name='core_updater.lock';

我们必须在数据库中删除 core_updater.lock 这行才能正常更新

如果你安装了 phpmyadmin 直接在 WordPress 的数据库上运行下面的 SQL 查询语句进行删除:

delete from wp_options where option_name='core_updater.lock';

如下图,点击 “执行” 按钮:

升级 WordPress 提示 “另一更新正在进行” 的原因和解决办法插图2

执行之后,显示已经删除了这一行。

升级 WordPress 提示 “另一更新正在进行” 的原因和解决办法插图3

没有安装phpmyadmin的用户,请在主题目录中找到 functions.php 文件,将下面的代码复制到该文件最下面:

global $wpdb;
$wpdb->query("DELETE FROM wp_options WHERE option_name = ' core_updater.lock '");

然后打开网站首页,刷新一下,会自动删除 core_updater.lock 记录,然后就可以正常升级程序了。最后在把刚才添加的代码删除就可以了。

进行上面的操作之后,一般都可以在网站后台正常升级了。

如果你的网站开启 CDN 加速,请先关闭网站的 CDN 加速;或者修改 C:\Windows\System32\drivers\etc\hosts 文件,把你的网站域名直接指向你的服务器IP地址来绕过 CDN 访问。然后在进行上面的操作,就可以更新了。

标签

发表评论