摘要:WordPress 已经在网站后台推送最新版本 WordPress 5.2.3 的更新升级,难得的是,简体中文版也同步更新了。但在点击“现在更新”进行自动升级时,出现了请求超时的问题。

从昨天开始,WordPress 就在网站后台推送最新版本 WordPress 5.2.3 的更新升级,难得的是,简体中文版也同步更新了。

但在网站后台“WordPress更新”界面,点击“现在更新”进行自动升级时,出现了请求超时的问题,我套用了上海云盾的CDN,网站直接504错误挂了。

有网友认为,这是从Wordpress服务器下载文件时速度过慢,造成了超时问题。建议找一个国外的 http 代理,然后修改 wp-config.php,加入以下代码。

define('WP_PROXY_HOST', '代理IP地址');
define('WP_PROXY_PORT', '代理端口');

记得在更新完成后注释掉刚才加的代码,即在前面添加//,以免影响 wordpress 使用。下次需要升级时,再删除注释。

但有趣的是,我在阿里云服务器上的网站更新是正常的,这个在香港主机上的网站倒出现请求超时了。

如何解决 WordPress 更新版本时下载超时的问题,思路多是延长服务器默认超时的30s时长,需在配置文件 php.ini 中修改。我采用了一种相对简单的办法:到 wp_admin 文件夹里,找到 update-core.php,在最开始的一行,添加:

set_time_limit(0);

就可以避免超时的现象。但一运行,系统却提示“另一更新正在进行。”估计是我前面多次刷新、更新造成升级进程不彻底引起的。

再怎么办呢?看到网上关于出现“另一更新正在进行”错误的解决办法,都是要操刀数据库的,而且比较繁琐,发现知更鸟的办法最简便。他认为这是因为在升级WordPress时中途停止造成,系统会在数据库 wp_options 表中增加 core_updater.lock 记录,只要将此记录删除即可。

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

将上面的代码添加到当前主题的 functions.php 中,刷新后,升级程序正常运行,出现了熟悉的内容,问题解决。

该代码运行一次就够了,没有必要留在主题中,用后记得删除。

历史上的今天: