如何修复“暂时无法进行定期维护.一分钟回来看看.” WordPress 中的错误

WordPress 中存在一个错误,当更新无法完成时很少会发生这种错误.它通常发生在您更新 WordPress 核心本身时,加剧了恐惧因素.您收到的消息是"暂时无法进行定期维护.一分钟后回来查看".在本文中,我将了解发生这种情况的原因以及如何解决该问题.

我想我会给你提供比通常深入研究的其他文章更多的信息,所以我将这篇文章分为两部分,快速修复/快速解释和更长的版本——以防你对细节感兴趣.

快速修复

作为安全预防措施和用户指标,WordPress 在开始更新之前将站点置于维护模式.例如,这可以防止用户在此过程中尝试保存数据.

一旦 WordPress 完成更新过程,网站就会退出维护模式,从而恢复正常.

如果在站点退出维护模式之前发生某些事情(这通常意味着 PHP 超时),代码将停止执​​行,因此站点将无限期地保持在维护模式.我们需要做的就是弄清楚WordPress如何实现维护模式并手动撤消.

幸运的是,这一切都非常简单.WordPress 将一个隐藏文件放入名为".maintencance"的主目录中.如果您不熟悉这些类型的文件:这是一个点文件.点文件是基于 Unix 的系统(如 Linux 或 OSX)上的隐藏文件.如果没有正确的工具,删除它可能会很困难,因为您可能不会在正常的目录列表中看到它们.

方法一:使用FTP

如果您使用 FTP 程序查看远程文件,通常可以启用"查看隐藏文件"选项.

这在程序的"查看"菜单中最常见.如果您找不到此选项,请查阅您的应用程序文档.一旦打开,您应该会在列表中看到".maintenance"文件.只需删除它即可让您的烦恼消失.

方法 2:使用终端

如果您使用 SSH 连接来查看服务器的文件,您可以通过键入"ls-a"命令来查看隐藏文件.使用终端,您无需列出删除文件的目录,因此您只需导航到 WordPress 根文件夹并输入"rm.maintenance"即可.

仍有问题?

在大多数情况下,只需删除此文件即可让所有内容恢复原状.根据 WordPress nofollow external noopener/a>:

要停止向访问者显示该消息,只需删除.maintenance 文件.应该再次执行自动升级,以防万一失败.

这实质上意味着一旦您删除文件,就会再次执行更新.如果出现问题,或者更新再次失败,最好的办法是手动更新 WordPress.手动更新部分在 Codex 中很好地解释了这一点.

您需要获取最新信息WordPress 文件并在您的计算机上提取它们.通过停用所有插件来跟进.然后,通过 FTP 或 SSH 访问,删除 WordPress 根文件夹中的 wp-admin 和 wp-includes 目录.从新提取的文件中上传 wp-admin 和 wp-includes 目录.

完成后,上传根目录中的所有文件(wp-login.php、wp-cron.php 等).您可以安全地覆盖除两个文件和文件夹之外的每个文件和文件夹.不要覆盖 wp-config.php 或 wp-content 文件夹.wp-config.php 保存您的配置,如果您覆盖该文件,您将无法访问您的数据库.wp-content 包含您的主题和插件,删除或覆盖该文件夹可能会导致您丢失主题或对它们所做的更改.

完成后,WordPress 可能会要求您更新数据库,否则会出现可怕的"暂时无法进行定期维护.请稍后再查看"消息现在应该消失,一切都应该恢复正常.

深入挖掘

我总是喜欢尝试解释这种情况的原因,所以让我们深入挖掘一下,看看到底发生了什么.当满足一组特定条件时,会显示维护消息.这可以在"wp-includes/load.php"文件的内联文档中看到.从第 145 行开始,就在 wp_maintenance() 函数之前,可以找到以下内容.

检查 WordPress 根目录中名为".maintenance"的文件.
该文件将包含变量 $upgrading,设置为该文件的时间
已创建.如果文件是在不到 10 分钟前创建的,WordPress
进入维护模式并显示一条消息.

默认消息可以通过使用插件(maintenance.php in
wp-content 目录).

仔细观察这个函数,你会发现你实际上可以通过将一个文件放入名为"maintenance.php"的文件到 wp-content 目录中来添加你自己的自定义维护消息.如果此文件存在,将显示,否则将使用默认消息.

更新过程 本身在"wp-admin/includes/update-core.php"中有详细记录,从 update_core() 函数之前的第 730 行开始.文档中的一小段摘录显示了所采取的步骤,第 2 步是创建维护文件,第 6 步是删除.

1.测试所选文件的解压缩位置以确保解压缩有效.
2.在当前的 WordPress 基础中创建.maintenance 文件.
3.将新的 WordPress 目录复制到旧的 WordPress 文件上.
4.将 WordPress 升级到新版本.
4.1.复制 wp-content
4.2 以外的所有文件/文件夹.将任何语言文件复制到 WP_LANG_DIR(可能与 WP_CONTENT_DIR 不同
4.3.将任何新的捆绑主题/插件复制到各自的位置
5.删除新的 WordPress 目录路径.
6.删除.maintenance 文件.
7.删除旧文件.
8.删除"update_core"选项.

实际创建维护文件的函数称为maintenance_mode(),可以在"wp-admin/includes/class-wp-upgrader.php"中找到.您可以看到它如何将 $upgrading 变量集添加到当前时间.如果使用 true 作为第一个参数调用该函数,它只会删除该文件.如果在调用此删除方法之前的任何时间升级过程失败,站点将停留在维护模式.

结论

"暂时无法进行定期维护.请稍后再回来查看"如果您的网站被卡在上面,这似乎是一个可怕的消息,但它是那里比较友好的网站之一,修复它非常容易,通常并不意味着之后出现任何数据库问题.

我们希望本文能帮助您了解如何修复 WordPress 中暂时不可用的定期维护错误.您可能还想查看我们关于如何修复错误建立数据库连接错误的帖子,这是WordPress 中最常见的错误.

如果您遇到过特别顽固的信息,需要付出额外的努力才能摆脱,请告诉我们!

3

发表回复