搜索全站
报错排查 8 分钟阅读

WordPress提示”正在执行例行维护”打不开?.maintenance 卡住解决办法

网站前后台都一直卡在正在执行例行维护,等再久也都打不开?本文用通俗易懂的语言讲清 .maintenance 维护文件残留的真实原因,并逐一给出主机面板、FTP、SSH 三种删除方法与数据库半升级的排查思路,帮你几分钟内让 WordPress 网站恢复正常访问。

U
UFO_PF 2026-10-10 · 阅读 8 分钟
Wo 报错排查
阅读提示
本文约 2,828 字,预计阅读 8 分钟。文中命令与配置均经过实测,可直接参考执行。

引言

你正准备给 WordPress 更新插件或核心,进度条转了几圈,页面突然跳出一行字:”正在执行例行维护,请记住在几分钟后回来。”(英文原话是 Briefly unavailable for scheduled maintenance. Check back in a minute.)你以为等一分钟就好,结果十分钟、一小时过去,前台后台全部打不开,反复刷新还是这句话。这种”卡在维护模式”的现象在共享主机、国内低配 VPS、网络不稳定的环境里特别常见,尤其是更新大版本核心或某个体积较大的插件时最容易触发。它和普通 500 错误有一个明显区别:页面能正常输出这段文字,说明 Web 服务和 PHP 进程都是活着的,MySQL 大概率也没挂,问题只出在一个被”忘记删除”的小文件上。本文把这套维护模式的来龙去脉讲清楚,再给你三种照着做就能成功的删除方法,让网站尽快恢复访问。

故障原因分析

  1. .maintenance 是一个真实存在的维护标记文件。 WordPress 在执行核心、插件、主题更新时,会在网站根目录创建一个名为 .maintenance 的文件,用来告诉程序”现在正在升级,先别让别人访问”。
  1. 它由升级程序创建和删除。 后台点”更新”时,核心的文件升级类(WP_Upgrader)会先调用维护开始逻辑写出这个文件,等升级完成后调用维护结束逻辑把它删掉。正常流程一进一出,用户几乎感知不到。
  1. 更新中途失败,文件就删不掉了。 只要升级过程被意外打断,维护结束逻辑就不会执行,.maintenance 于是长期留在根目录。常见打断原因有:PHP 执行超时(共享主机常见 30 秒限制)、内存不足、FTP/SSH 凭据填错、磁盘空间写满、文件权限不足、浏览器被关闭、主机把进程杀掉等。
  1. WordPress 每次加载都会检查它。 只要根目录里存在 .maintenance,WordPress 在加载阶段就会直接输出维护页面、返回 503 状态码,然后中止后续所有加载。所以前台打不开、后台同样进不去——因为它在主题和插件加载之前就拦住了。
  1. 文件本身无害,只是内容记录了一个时间戳。 .maintenance 里通常只有一行 <?php $upgrading = 一个Unix时间戳;,不携带任何恶意代码,删除它对网站数据没有任何影响。

分步解决方案

先记住一个关键位置:.maintenance 必须位于 WordPress 根目录,也就是和 wp-config.php、wp-admin、wp-content 同一个层级,不在 wp-content 里面。

方法一:用主机面板的文件管理器(最适合宝塔/cPanel/虚拟主机)

  1. 登录主机控制面板,例如宝塔面板的”文件”、cPanel 的”文件管理器”、阿里云云虚拟主机的”文件管理”。
  2. 进入网站根目录,常见名字是 public_html、wwwroot、htdocs 或 /www/wwwroot/你的域名。
  3. 打开面板顶部的”显示隐藏文件“开关。.maintenance 以点开头,默认是隐藏的,不开这个选项根本看不到。
  4. 找到 .maintenance,选中后删除。
  5. 回到网站刷新,维护页消失即恢复成功。

为稳妥起见,也可以先把它改名为 .maintenance.bak,确认网站正常后,下次进面板再彻底删除。

方法二:用 FTP / SFTP 工具

  1. 用 FileZilla 之类的工具连接到服务器。
  2. 在菜单里开启隐藏文件显示(FileZilla Windows 版:服务器菜单勾选”强制显示隐藏文件”)。
  3. 进入网站根目录,找到 .maintenance,右键删除。

方法三:用 SSH 命令行(适合有服务器权限的站长)

# 先进到网站根目录,路径按你的实际情况替换
cd /www/wwwroot/mimangfei.com
# 确认文件在不在
ls -la | grep maintenance
# 删除它
rm -f .maintenance

如果提示权限不足,说明文件属主不是你当前的 SSH 用户,可以尝试:

sudo rm -f .maintenance

删不掉怎么办

  • 面板里点删除没反应:多半是权限或占用问题,改用 SSH 执行 rm,或在面板里先把文件权限改为 644、属主改为当前 web 用户再删。
  • 提示 Permission denied:说明文件被 root 或 PHP 用户所有,用 sudo 或面板的”修改权限/属主”功能处理。
  • 删完还打不开:先开无痕窗口或按 Ctrl+F5 强制刷新。如果用了 CDN、Nginx 缓存插件或 Redis 对象缓存,503 维护页可能被缓存了,需要清空浏览器、CDN 和插件缓存。

删完仍异常,要怀疑数据库是否升级到一半

如果这次卡住发生在核心大版本升级过程中,除了 .maintenance,WordPress 还可能处于”数据库需要升级”状态。此时页面通常不会显示维护文字,而是跳到 /wp-admin/upgrade.php。这种情况请不要手动乱改数据库,先备份数据库,再从浏览器访问升级地址按提示完成升级。

常见踩坑点

  1. 找错位置。 绝大多数人第一反应是去 wp-content 里翻,其实 .maintenance 在根目录,与 wp-config.php 同级。
  2. 没开”显示隐藏文件”。 以点开头的文件在 FTP 和面板里默认被隐藏,看不到就以为”文件不存在”,白折腾半天。
  3. 更新其实还在跑,你却把文件删了。 如果你刚点更新没多久,进程可能真的还在执行。特别是正在升级数据库时,中途删掉维护文件会让前台在数据表结构变更到一半时被访问,可能造成数据异常,建议先等几分钟。
  4. 只删了维护文件,没解决根本原因。 如果是磁盘写满或目录权限不对导致更新失败,下次更新还会卡在同一处,务必回头解决。
  5. 缓存骗了你。 删掉文件后看到同一个页面,可能是浏览器、CDN 或缓存插件返回的旧页面,用无痕窗口验证最靠谱。
  6. 指望后台有”关闭维护模式”开关。 后台都进不去,哪里来的开关;老老实实走文件系统删除。

总结

卡在”正在执行例行维护”并不代表网站坏了,绝大多数情况只是更新中断后留下的 .maintenance 文件在作怪。记住两点就够了:它的位置在网站根目录,与 wp-config.php 同级;它的处理方式是显示隐藏文件后删除,或者用 SSH 执行 rm -f .maintenance。恢复访问之后,建议顺手排查这次更新失败的原因——是 PHP 超时、内存不够、磁盘写满,还是文件权限不对,把根因解决掉,下次更新才不会再卡在维护模式。把”更新前先备份数据库和文件、一次只更新一个插件、尽量在访问量低的时段操作”变成习惯,WordPress 的更新过程会稳定得多,你也能从反复救火里解放出来。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。