wordpress 自动升级失败地解决方案

因多种原因导致下载失败,超时等多种问题,使用手动麻烦,容易出错

现在找出一种方案,实现半自动方式:

手动下载,需要的版本文件
https://downloads.wordpress.org/release/zh_CN/wordpress-xxx.zip
一定要选择 zip 地,要不可能解压不了

把下载地文件放到 wp-content/temp 文件夹下,并设置服务用户(如 www)可写

并更改后缀为 tmp,获取更改后文件绝对路径;/…../wp-content/temp/wordpress-xxx.tmp

修改文件:vim wp-admin/update-core.php 大约在559行,下载前位置($update = find_core_update( $version, $locale ); 后面),添加下面代码,保存;
$update->packages->full=$update->download=”$webroot/wp-content/temp/wordpress-xxx.tmp”;

从版本5.4以后更新使用了不同的包,所以下载内容变为

https://downloads.wordpress.org/release/wordpress-5.5.3-no-content.zip
同样放到一个可写的目录如:wp-content/temp/wordpress-5.5.3-no-content.zip
在find_core_update下面添加代码:$update->packages->no_content=”$webroot/wp-content/temp/wordpress-5.5.3-no-content.zip”;

修改文件(5.5以后文件变化了):vim wp-admin/update-core.php 大约在675行

5.6在799行

在界面上点自动更新,OK enjoy.