手动升级 WordPress 核心文件怎么操作才不报错?

文章导读
手动升级 WordPress 核心文件是后台自动更新失败时的标准补救方案,最稳妥的方式是通过 SFTP 或 SSH 替换除 wp-content 和 wp-config.php 之外的所有核心文件。
📋 目录
  1. 升级前准备与检查
  2. 方案一:SFTP 文件替换(推荐)
  3. 方案二:SSH 命令行升级
  4. 权限与所有者修复
  5. 数据库升级与验证
  6. 故障排查与回滚
A A

手动升级 WordPress 核心文件是后台自动更新失败时的标准补救方案,最稳妥的方式是通过 SFTP 或 SSH 替换除 wp-content 和 wp-config.php 之外的所有核心文件。

先说结论:手动升级的核心在于“保留配置、替换核心、触发数据库更新”。

  • 适合自动更新报错或服务器权限受限的场景
  • 操作前务必检查磁盘空间并开启维护模式
  • 建议升级前完整备份数据库和文件,以便故障回滚

升级前准备与检查

在开始替换文件前,需确保服务器环境满足升级条件,避免中途中断导致站点不可用。

  1. 检查磁盘空间:通过 SSH 登录服务器,运行 df -h 确认剩余空间充足,避免解压失败。
  2. 完整备份:使用插件或主机面板备份全站文件及数据库。如果升级失败,这是唯一的回滚途径。
  3. 开启维护模式:在 WordPress 根目录手动创建 .maintenance 文件,防止用户在升级过程中访问站点产生错误。命令:touch .maintenance

方案一:SFTP 文件替换(推荐)

除了 FTP 方式,如果你拥有 SSH 权限,推荐使用命令行更高效完成,但 SFTP 图形化操作更直观。以下是 SFTP 关键操作逻辑:

  1. 下载最新 WordPress 压缩包并在本地解压。
  2. 连接服务器,进入 WordPress 根目录。先上传新的 wp-adminwp-includes 目录。
  3. 确认新文件上传完成后,再删除旧的 wp-adminwp-includes 目录。不要删除 wp-content
  4. 根目录其他文件覆盖更新,但务必跳过wp-config.php
  5. 上传完成后,删除根目录的 .maintenance 文件。

方案二:SSH 命令行升级

如果你熟悉命令行,可以通过 SSH 快速完成核心文件替换,效率更高且不易出错。

手动升级 WordPress 核心文件怎么操作才不报错?
  1. 进入 WordPress 根目录:cd /path/to/wordpress
  2. 下载最新核心:wget https://cn.wordpress.org/latest-zh_CN.zip
  3. 解压文件:unzip latest-zh_CN.zip
  4. 替换核心文件(排除配置和内容目录):
    rsync -av `--delete` `--exclude`='wp-content' `--exclude`='wp-config.php' wordpress/ ./
  5. 清理临时文件:rm -rf wordpress latest-zh_CN.zip

权限与所有者修复

上传后如果文件所有者不对,可能导致后台无法写入。需确保文件权限通常为 644,目录为 755,可使用以下命令修复:

find . -type f -exec chmod 644 {} \;
find . -type d -exec chmod 755 {} \;
chown -R www-data:www-data .

注意:www-data 需替换为你服务器实际的运行用户(如 nginxapache)。

数据库升级与验证

文件替换完成后,需触发数据库结构更新。

  1. 在浏览器访问 http://你的域名/wp-admin/upgrade.php。如果提示数据库需要更新,点击确认按钮。
  2. 登录 WordPress 后台仪表盘,查看首页显示的版本号是否与最新版一致。
  3. 进入“工具”>“站点健康”,检查是否有严重问题。
  4. 前台访问几个关键页面,确认没有 PHP 报错或白屏。

故障排查与回滚

如果升级后站点出现白屏或错误,请按以下步骤处理:

  • 覆盖 wp-config.php:这会导致数据库连接信息丢失,站点直接无法访问。若误覆盖,请立即从备份还原该文件。
  • 忽略数据库升级:文件更新了但数据库结构没变,可能导致某些功能异常。请重新访问 /wp-admin/upgrade.php
  • 紧急回滚:若无法修复,通过主机面板或 SSH 还原升级前备份的文件和数据库。
  • 插件兼容性:核心升级后,旧插件可能不兼容。建议升级前先禁用关键插件或排查错误日志。