- 错误类型:
- 数据库错误
- 错误名称:
- 需要更新数据库提示死循环
- 英文名称:
- Database Update Required
- 错误描述:
- 由于对象缓存,或者插件冲突等原因,导致在更新WordPress网站时发生提示更新数据库死循环的现象。
- 错误变体:
-
No update required, your WordPress database is already up to date.
动升级WordPress网站后可能会遭遇“需要更新数据库(Database Update Required)”错误。但是当您单击“更新WordPress数据库”时,它会返回另一条消息,“无需更新,您的WordPress数据库已经是最新的。”你发现你陷入了死循环之中,始终无法进入WordPress管理后台。
这篇文章是有关“无需升级,您的WordPress数据库已经是最新的了!(“No update required, your WordPress database is already up to date.”)” 错误消息死循环详细说明以及解决它并重新获得对您网站的访问权限的几种方法。
为什么会出现“数据库已经是最新的了”错误
正如前面提到的,您使用的缓存插件导致了这个问题,但它比这更复杂,尤其是因为它不会总是发生。更具体地说,它通常是一个对象缓存问题。
WordPress中的“数据库已经是最新的了”错误
对象缓存是一种缓存,在加载结果后缓存网页的数据库查询结果。这样,在每次后续页面加载时,都会从缓存中快速提供查询服务。
这可以防止每次页面加载时都必须使用相同的查询来负担数据库,从而节省服务器资源并加快页面加载时间。
流行的对象缓存程序包括Memcached和Redis。也有提供对象缓存的WordPress插件,例如W3 Total Cache。其中任何一个都可能是“数据库已经是最新的了”错误的根本原因。
当指示WordPress是最新的文件被缓存时,就会发生这种情况。当有可用的新更新时,会检查该文件,并且由于它仍然说WordPress是最新的,因此会出现错误消息,因为它认为所有内容都已更新。
如何修复“数据库已经是最新的了”错误
既然您知道为什么会出现“数据库已经是最新的了”错误,您如何解决它?有多种方法可以解决此问题,您可以尝试每一种方法,直到找到有效的解决方案。
清除您的WordPress站点和服务器的缓存
清除您网站的缓存可能会解决该问题,因为它应该清除表明您的WordPress数据库已经是最新的缓存文件。如果这不起作用,请尝试清除服务器的缓存。
这些步骤因您使用的插件和主机而异,因此请参阅他们的文档以了解有关如何执行此操作的详细信息。
请记住,清除站点和服务器的缓存会导致暂时的性能问题。不过,当您的网站页面再次缓存时,此问题会自行解决。
使用WP-CLI清除缓存
如果您的主机支持(大多数支持),您可以使用WP-CLI清除缓存。
第1步:通过SSH连接到您的站点。根据您的主机,此步骤可能会有所不同。
第2步:接下来,输入下面的命令,但一定要使用您网站的实际路径更新“path/to/your-site”:
cd ~/path/to/your-site
第 3 步:现在,通过输入以下内容来刷新站点的缓存:
wp cache flush
使用SSH清除缓存
如果您不想使用WP-CLI,则可以使用SSH刷新站点的缓存。您应该使用的命令将根据您使用的对象缓存系统的类型而有所不同。
第1步:通过客户端或主机的仪表板通过SSH连接到服务器后,如果安装了Redis,则可以使用以下命令:
redis-cli flushall async
或者,如果您安装了Memcached,请改用以下命令来启动该过程:
telnet localhost 11211
请记住,如果您不使用该端口,则可能需要更新“localhost 11211”。
同样重要的是要注意,如果托管您的站点服务器不支持memcached 。正如我们所说,您可以改用Redis插件。
第2步:如果您使用的是 Memcached,还有几个步骤。接下来需要输入以下命令:
flush_all
第 3 步:最后一步是通过简单地在 SSH 客户端中输入单词来退出,例如在此示例中:
quit
重命名object-cache.php文件
如果您尝试清除站点和服务器的缓存但没有成功,您可以尝试重命名object-cache.php文件。
如果由于“数据库已经是最新的了”错误而无法访问WordPress管理仪表盘而无法清除站点的缓存,这也特别有用。
如果您发现自己处于这种情况,那么您应该能够在重命名文件后重新访问您的站点。
第1步:您需要访问object-cache.php文件以开始解决“数据库已经是最新的了”错误。您可以选择通过SSH、SFTP或通过您的主机的仪表板来执行此操作。
然后,单击菜单中的站点,从列表中选择您的站点,然后单击信息选项卡。
以下是您需要在此选项卡上记录的详细信息,或者如果您在其他地方托管您的WordPress网站:
- IP地址
- 用户名
- 密码
- 端口
第2步:使用您记下的SFTP凭据通过FTP客户端(例如以下示例中的FileZilla)登录到您的服务器。在窗口顶部添加您的详细信息,然后单击快速连接。
将您服务器的SFTP凭据输入到您的FTP客户端
第3步:在登录字段下方,有一个区域正下方显示消息。
一旦您看到“已连接到”消息,然后是您的服务器的IP地址,然后是“’/’ 成功的目录列表”,这意味着您已连接并准备就绪。
导航到您网站的/wp-content/文件夹并在那里找到object-cache.php文件。
在您的站点中找到该文件
第4步:将文件重命名为您想要的任何名称,在现有名称的末尾附加诸如“-old”之类的内容会很有帮助。这样,以后可以更轻松地查找和记住该文件的内容。
在FileZilla中,单击该文件。然后,右键单击它并在出现的菜单中选择重命名。如果未显示隐藏文件,请按照本教程进行修复。
重命名对象缓存文件
键入您想要的名称,然后按键盘上的Return或Enter键。
第5步:转到您的站点并登录。然后,使用您正在使用的任何缓存插件清除您站点的缓存。
第6步:返回到您的FTP客户端并检查该文件是否已在您的服务器上重新创建。
禁用所有插件
如果到目前为止没有任何效果,请尝试禁用所有插件。例如,在您使用两个处理不同类型缓存的缓存插件的情况下,这可以解决“数据库已经是最新的了”错误。也许您不小心重叠了导致错误发生的功能。
或者,也许您忘记了您正在使用的插件具有用于缓存或类似功能的附加功能,而您却忘记了它。
在任何一种情况下,如果您无权访问管理仪表板,您都可以使用SFTP禁用所有插件。这是如何做到的。
第1步:与之前重命名object-cache.php文件的建议类似,打开您首选的FTP客户端并连接到您的服务器。
找到/wp-content/plugins/文件夹并重命名。与重命名object-cache.php文件类似,您可以随意命名plugins文件夹,但在末尾附加一些内容可以帮助您避免以后混淆。
第2步:重新登录管理仪表板以确保您能够并且不再遇到“数据库已经是最新的了”错误。如果您在其中,请将插件文件夹重命名为其原始名称并刷新管理仪表盘。
第3步:如前所述清除您的站点和服务器的缓存。然后在您站点的管理仪表板中,转到插件> 已安装的插件。
一个一个地重新激活每个插件,直到问题再次出现。当它发生时,您发现了导致问题的插件。
激活您的每一个插件
第4步:如果您仍然可以通过单击列表中插件名称下方的“删除”链接访问,请在管理仪表板中删除有问题的插件。
否则,再次使用SFTP并再次重命名插件文件夹。
删除导致问题的插件
第5步:完成后,再次将插件文件夹重命名为其原始名称。然后,刷新浏览器并删除问题插件,如上述第四步所述。
第6步:再次清除您的站点和服务器的缓存。此时,“数据库已经是最新的了”错误应该得到解决。
最后的手段:联系您的主机或重新启动您的服务器
如果您达到了这一点并且其他任何方法都无效,请尝试重新启动您的服务器。但在此之前,请记住,这是绝对的最后选择,因为这意味着您的网站暂时不可用。
没有人能够访问您的站点,因此如果您需要重新启动服务器,请尝试在白天或晚上流量最低的时间进行。
每个托管服务提供商都有不同的重启服务器的步骤,因此请务必查阅他们的文档以获取有关如何操作的详细信息。
在重新启动服务器之前,您应该先尝试联系您的主机,看看他们是否可以解决问题。请务必让他们知道您迄今为止为尝试修复“数据库已经是最新的了”错误而采取的所有步骤。
小结
总而言之,让WordPress保持最新状态非常重要,因为新的更新带有有用的功能和重要的错误修复。无法更新您的网站可能会很烦人,而无需更新循环可能是原因之一。
该问题的出现主要是因为与对象缓存的冲突。虽然缓存对于提高网站性能至关重要,但如果处理不当,可能会在您的网站上产生问题。
在本文中,我们讨论了修复无需更新WordPress循环的原因和不同方法。我们已经看到对象缓存如何触发可怕的错误,甚至可能将您锁定在管理仪表板之外。此外,我们详细了解了解决该问题的所有可能解决方案。
总而言之,您可以做的第一件事就是清除网站的缓存。如果这不能解决问题,您需要手动重命名object-cache.php文件。如果问题仍然存在,一个好主意是检查插件/主题之间的冲突。在大多数情况下,在此之后,不需要更新错误将消失,但如果不是这种情况,重新启动PHP或您的服务器可能是解决方案。最后,如果没有任何效果,您应该联系您的托管服务提供商寻求技术支持并帮助您修复“无需更新”循环。