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

一、出现这个错误是什么原因引的?
很显然,这是更新进程锁定了,才出现 “另一更新正在进行” 的提示。那么什么原因引起的更新进程锁定?
1、网络不稳定,在更新程序的时候出现服务器网络故障、负载过高,IO使用率高、等等。
2、网站开启了 CDN 加速,很是奇怪,按道理来说这个不会影响更新的,但是的确如此。应该是 WordPress 程序更新的过程开启了某些安全校验,比如不允许使用代理等。
一旦更新进程锁定了,在网站数据库 wp_options
表中,会增加一条 option_name
名为 core_updater.lock
的行:

就是这行锁定了更新进程。如果找不到多翻几行看看,这个表里的数据很多。或者直接运行下面语句进行查找:
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';
如下图,点击 “执行” 按钮:

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

没有安装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 访问。然后在进行上面的操作,就可以更新了。
发表评论