直接替换主程序文件,完成 WordPress 的升级

国内服务器上的 WordPress 更新插件、主题以及升级版本,最麻烦的就是下载太慢,很容易超时导致更新失败。关于 WordPrsss 的更新问题,本站已经分享过不少应对方案:

  1. WordPress 升级主题、插件和翻译出现“正在执行例行维护,请一分钟后回来”的解决方法
  2. 国内服务器 WordPress 更新失败该如何解决
  3. 解决升级 WordPress 时提示“另一更新正在进行”
  4. 使用WP-China-Yes插件彻底解决WordPress更新问题

曾经耕读君习惯通过 WP-CLI 来升级 WordPress,但自从将站点「容器化」后,这个方法就不能用了。

有人可能会说,既然都已经容器化了,那直接换个镜像版本不就行了?原因很直接,我挂载的是完整的 /var/www/html ,这样可以更方便地更改文件。

升级 WordPress 的方法其实很简单——直接替换 WordPress 主程序的文件。本地安装或者容器运行的 WordPress 都可以用这个方法。

操作步骤

升级前建议先创建备份,或者服务器快照,以便快速回退。

1. 下载最新的 WordPress 安装包

登录服务器,用 wget 命令下载:

wget https://cn.wordpress.org/latest-zh_CN.zip

以上是中文版的链接,有时候英文版已经发了新版,中文版还未更新,也可以下载英文版(https://wordpress.org/latest.zip ),升级完成后在后台更新翻译即可。

2. 解压并删除 wp-content 目录

网站的插件、主题都在 wp-content 路径下,因此解压后务必需要删除该目录,避免覆盖。

# 解压
unzip latest-zh_CN.zip

# 删除 wp-content 目录
rm -rf wordpress/wp-content

3. 覆盖旧站点文件

假设站点根目录为 /host/wp-html/

cp -rf wordpress/* /host/wp-html/

虽然加了 -rf ,但还是有可能遇到每个文件都询问是否复制的情况。这是因为 cp -rf 在部分 Linux 环境下,-i(交互询问)是系统别名默认带上的,所以就算写了 -f,依旧弹窗询问是否覆盖。

此时可以在 cp 命令前加上 \ 来完成复制:

\cp -rf wordpress/* /host/wp-html/

4. 修改权限

如果权限不匹配,可能会导致上传文件、安装插件和主题时报 Permission denied 错误。

服务器本地文件安装的 WordPress:

chown -R www:www /host/wp-html/

如果是用容器运行的,则需要区分基础镜像。

php‑fpm(debian) 镜像:

chown -R 33:33 /host/wp-html/

php‑fpm‑alpine 镜像:

chown -R 82:82 /host/wp-html/

5. 重启容器(仅容器化 WordPress 需要操作)

docker restart 你的wp容器名

如果是用 compose 运行的:

docker compose restart 该站点wp服务名

6. 检查升级结果

登录网站后台,如果看到升级数据库的提示,点击升级即可。

为了确保升级顺利完成,建议尝试新建文章、上传媒体、停用/启用插件,看功能是否均正常。如果没有发现问题,则升级操作完成,后续可以正常使用。

耕读君
耕读君

一个筋斗十万八千里,说明上云好啊

文章: 238

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注