你有没有遇到过在后台升级WordPress版本的时候提示“另一更新正在进行”而升级失败呢?来看下有什么完美解决的办法!
经典博客CMS建站系统WordPress的更新非常频繁,可以说是颇具活力,可以在网站后台一键升级,用户也是乐此不疲。但是由于WordPress官方服务器位于遥远的海外,我们国内用户经常出现升级失败的情况。最常见的就是点“现在升级”后提示“另一更新正在进行”,令人恼火不已。
究其原因,是因为WordPress升级需要去海外的服务器拿数据,一旦出现网络故障等问题,就极有可能导致连接超时而升级失败。
而WordPress有个机制就是升级的时候数据库会写入一个锁定字段,升级异常而导致字段没有被清理,导致我们再次点击升级的时候提示“另一更新正在进行”错误提示,无法进行升级操作。
解决方法:
既然我们了解了错误提示的原因,就很好解决:那就是找到这个锁定字段,删除它,就可以进行升级了,以下介绍两种方法
方法一:直接操作数据库
登陆数据库管理系统(如PHPMyAdmin),找到我们网站在用的数据库,点击数据库表“wp_options”(默认是此表,如果建站时又修改表前缀,请根据实际情况而定)在option_name字段找到core_updater.lock记录并将这一列数据删除即可。
此方法适用于对数据库有一定了解的用户,如果你精通数据库操作,那么完全可以使用命令
delete from wp_options where option_name='core_updater.lock';
方法二:操作functions.php
将如下代码放入到你的主题函数模板 如(functions.php)不赘述,然后刷新一下网站首页即可
global $wpdb; $wpdb->query("DELETE FROM wp_options WHERE option_name = ' core_updater.lock '");
同理,表前缀默认为wp_options,根据实际情况。
此方法适用于大多数用户,注意:刷新首页成功删除锁定字段后请及时删除此段代码,以免影响网站正常使用。
通过上述操作,我们已经删除了锁定字段,可以再次前往仪表盘操作升级了
总是升级失败怎么办?
如果通过上述操作,还是各种慢甚至超时失败的话,那么我建议你使用下面的方法来
国内WordPress用户升级慢或者超时失败是因为,自动升级需要去downloads.wordpress.org服务器拿数据。而远在海外的服务器在传输数据过来的时候会因各种影响而断掉,幸好有大神架设一台代理服务器,让升级变得不再那么困难。
使用代理服务器升级方法:
使用FTP软件打开网址根目录下的wp-config.php,在底部增加如下代码:
define('WP_PROXY_HOST', 'us.centos.bz'); define('WP_PROXY_PORT', '31281');
保存后前往WordPress仪表盘操作更新,如果提示“另一更新正在进行”,则根据前文方法处理数据库,之后就可以成功升级了。
而据笔者测试,使用代理服务器比正常更新真的快很多,所以该代码可以在每次更新的时候进行使用。
需要注意的是,当我们升级完成后就将其删掉或者注释掉,以免影响网站正常使用,注释方法如下:
//define('WP_PROXY_HOST', 'us.centos.bz'); //define('WP_PROXY_PORT', '31281');
本文部分内容来自 boke112导航 明月登楼 等站点,在此表示感谢!
不错的,收藏啦!
还是方法一比较靠谱。
@灰常记忆: 直接操作数据库不用新增代码,不会导致冗余,不过对于新手博主来说不是很友好,容易误操作
我也准备入手wordpress
我就是过来看看!嘿嘿!原来最新版WordPress最大的更新竟然是编辑主题源文件时支持了代码高亮的编辑器!!!
@明月登楼: 是的,而且html小工具也会代码高亮,且提示错误,个人感觉完全没必要;毕竟直接在后台修改代码文件的是少数,完全没有必要为了这不必须的东西使得WordPress更加臃肿
很专业文章,我升级时确实遇到了文章中提到的问题
@历史趣谈: 这个问题,国内主机有时候会遇到,一般都是连接超时导致的升级失败,不知道有没有“土啬”的原因。
前些天刚遇到,本来百度找了一个和博主类似的教程,发展wp_options里面记录值不一样,就没改了,直接重装了。(我是新装升级,所以直接重装了)
@煮只鸡: 如果表内没有core_updater.lock 是可以直接升级的;新站无所谓,直接重装,简单粗暴
国内主机经常遇到更新失败的情况
没有玩过这些,有空了我也弄个网站
方法不错,收藏了,遇到时我试试