修复 WordPress 白屏死机 (WSoD) 的 9 种行之有效的方法

已发表: 2020-06-17

没有什么比浏览您的 WordPress 网站并突然遇到死机白屏 (WSoD) 更糟糕的了。 此错误使管理员和访问者都无法访问您的网站。

由于缺乏指向可能原因或解决方案的信息,WSoD 也可能令人难以置信地令人沮丧。 但是,它也是最常见的 WordPress 错误之一。 因此,尽管令人担忧,但在大多数情况下,它是可以解决的。

在这篇文章中,我们将解释 WordPress WSoD 是什么以及它的常见原因是什么。 最重要的是,我们将向您介绍九种可能的解决方案,以尽可能快地恢复和运行您的网站。

让我们开始吧!

喜欢看视频版?

什么是 WordPress 死机白屏?

正如它的名字一样,WordPress 白屏死机(也称为“WSoD”)发生在您尝试访问的不是网页,而是一个空白的白屏时。

根据您使用的浏览器,您可能会收到不同的错误消息。 以下是 Google Chrome 中的示例,其中包含 HTTP 500 错误警告“此页面无法正常工作并且无法处理请求”:

wordpress wsod 铬
Google Chrome 中的 WordPress 白屏死机

现在让我们看一下 Mozilla Firefox 中的死机白屏:

wordpress wsod 火狐
Mozilla Firefox 中的 WordPress WSoD

如您所见,它只是一个纯白色的屏幕。 它不包含任何有用的错误或警告消息。

WordPress 死机白屏几乎总是由 PHP 代码错误或内存限制耗尽引起的。

另一个可能的原因是主题或插件错误。 如果网站的前端已关闭,但您的 WordPress 管理区域已启动,则后者可能是问题所在。 要快速检查您网站上的仪表板是否正常工作,只需导航到 yourdomain.com/wp-admin。

那么,如何修复 WSoD? 很高兴你问!

WordPress 死机白屏令人沮丧,令人困惑,但最终是可以修复的! 这里有 9 个简单的解决方案供您尝试点击推文

如何修复 WordPress 白屏死机(9 种方法)

当您遇到 WordPress 白屏死机时,您的首要任务是尽快修复它。 考虑到这一点,让我们看一下可以用来解决它的九种可能的解决方案。

1.禁用你的WordPress插件

修复 WordPress WSoD 的最简单和最常见的方法之一是简单地禁用所有插件。 通常,由于插件更新错误,网站会出现故障。

如果您仍然可以访问您的管理区域,一个快速的方法是从仪表板导航到插件,选择所有插件,然后从批量操作下拉菜单中单击停用

WSOD:停用所有 WordPress 插件设置
停用所有 WordPress 插件设置

这将禁用所有插件。

如果这样可以解决问题,您将需要找到罪魁祸首。 为此,您可以开始一一激活插件,每次激活后重新加载站点。 当您的前端出现故障时,您就发现了行为不端的插件。

然后,您可以联系插件的开发人员寻求帮助或在 WordPress 插件目录中发布支持票。

如果您无法登录 WordPress 管理员,您可以使用文件传输协议 (FTP) 客户端访问您网站的文件目录。

在根目录的wp-content文件夹下,找到plugins文件夹。 将其重命名为“plugins_old”:

WSoD:重命名您的插件文件夹
重命名插件文件夹

然后,在前端再次检查您的网站。 如果这可行,您将需要一个一个地测试每个插件。 将您的插件文件夹重命名为“plugins” 然后单独重命名其中的每个插件文件夹,直到找到错误的文件夹。

2. 切换到默认的 WordPress 主题

如果问题不是插件,您的 WordPress 主题可能是导致白屏死机的原因。 要查看这是否是问题所在,您可以通过切换到默认主题来替换您的主题。

如果您可以访问您的管理区域,请转到仪表板中的外观 > 主题。 找到并激活默认的 WordPress 主题,例如二十二十:

WSOD:切换到默认主题
二十二十个 WordPress 主题。

然后,再次测试您的网站。 如果它有效,您就会知道问题出在您的主题上。

如果您无法访问仪表板,则该过程与使用插件的过程相同。

使用 FTP 访问您网站的文件,并将您的wp-content/themes文件夹重命名为其他名称:

WSoD:主题文件夹
重命名您的主题文件夹

然后 WordPress 将恢复到最新的默认主题,很可能是二十二十。 如果您没有任何其他主题,您可以从 WordPress 主题目录下载一个,然后将其上传到您的主题文件夹。

之后,继续并再次检查您的网站。 如果它有效,则您的主题可能存在冲突或更新错误。 如果是这种情况,您可能需要联系开发人员寻求帮助或考虑切换主题。

3.清除浏览器和WordPress插件缓存

如果您可以访问 WordPress 网站的后端,但仍然在前端看到 WSoD,则可能是由于您的缓存存在问题。

要修复它,请尝试清除 Web 浏览器的缓存和 WordPress 缓存插件(假设您安装了一个)。

如果您在 WordPress 网站上安装了缓存插件,例如 WP Rocket 或 WP Super Cache,大多数都提供了一种通过插件设置页面清除缓存的快速方法。

以 WP Super Cache 为例,在您的 WordPress 仪表板中,您将导航到Settings > WP Super Cache > Delete Cache

删除插件缓存
WP Super Cache 插件设置页面

如何从 MyKinsta 清除缓存

如果您是 Kinsta 用户,您还可以使用 MyKinsta 轻松清除缓存。 为此,请登录您的帐户。 单击工具,然后单击站点缓存部分下的清除缓存

kinsta 网站缓存
MyKinsta 中的清除缓存选项

清空缓存后,保存更改。 然后重新访问您的网站,看看是否解决了问题。 如果没有,是时候转向另一个解决方案了。

4. 开启调试模式

如果您仍然看到 WordPress 白屏死机,管理区域无法正常工作,或者您认为您已经找到了问题但想深入挖掘,您可以启用调试模式。 这将显示您网站上发生的任何错误。

要启用调试,您需要打开 WordPress 安装的wp-config.php文件。 在其中您应该找到以下行:

 define( 'WP_DEBUG', false );

将“false”更改为“true”,然后重新加载您的网站。 如果此行不存在,您可以将其添加到文件的顶部。

您将看到白屏和一些错误消息,而不是白屏。 这不是一个巨大的改进,但这只是一个开始。 WSoD 错误消息应说明问题源自哪个文件,如下所示:

 Cannot redeclare get_posts() (previously declared in /var/www/html/wordpress/wp-includes/post.php:1874) in /var/www/html/wordpress/wp-content/plugins/my-test-plugin/my-test-plugin.php on line 38

您可以在此示例消息的末尾看到问题出在名为my-test-plugin的插件的第 38 行。 因此,禁用该插件应该可以解决问题。

如果您在启用调试模式后根本没有看到任何错误,您可能需要联系您的虚拟主机。 您的服务器上可能未正确配置调试。

Kinsta 客户可以选择使用内置调试工具。 在 MyKinsta 仪表板中,单击您网站的名称,然后单击工具。 在WordPress 调试下,选择启用

kinsta调试工具
如何在 MyKinsta 中启用 WordPress 调试模式

然后,您可以在 MyKinsta 仪表板的“日志”部分下访问错误日志,并浏览它们以了解有关该问题的更多信息。

请记住,打开调试模式可能会将您网站的某些信息暴露给未经批准的用户。 因此,请确保在完成使用后始终关闭该模式。

5. 增加你的内存限制

如果您在尝试上述一些解决方案后仍然看到可怕的 WSoD 空白页面,或者您收到抱怨内存限制或内存耗尽的错误,您需要为应用程序分配更多内存。

这可以通过许多 WordPress 安装上的wp-config.php文件来完成。 打开文件并添加以下代码:

 define('WP_MEMORY_LIMIT', '64M');

如果这似乎不起作用,您有几个选择。 在常规环境中,您可以使用.htaccess文件来增加内存限制。 只需添加以下行:

 php_value memory_limit 64M

如果您无法访问.htaccess文件,则可以使用php.ini文件来增加内存限制。

因停机时间和 WordPress 问题而苦苦挣扎? Kinsta 是在设计时考虑到性能和安全性的托管解决方案! 查看我们的计划

为此,请通过 FTP 连接到您的服务器。 在站点的根目录中,查找php.ini文件。 找到它后,在文件中的任意位置添加以下行:

 memory_limit = 64M

如果您仍然内存不足并需要分配更多内存,则您的应用程序中可能存在问题。 也许您的主题或您的一个插件正在使用过多的资源。

此时,您可能需要聘请开发人员来看看。 通过向您显示您站点的 SQL 日志和其他资源统计信息,甚至您的主机也可以提供帮助。

6.检查文件权限问题

WSoD 的另一个潜在原因是权限和所有权问题。 可以自己解决这个问题。 但是,除非您真的知道自己在做什么,否则我们建议您不要这样做,因为您可能会无意中创建攻击者可以利用的漏洞。

当谈到 WordPress 权限时,需要遵循三个简单的规则:

  • 文件应设置为 664 或 644。
  • 文件夹应设置为 775 或 755。
  • wp-config.php文件应设置为 660、600 或 644。

如果您对服务器具有 SSH 访问权限,则可以使用以下命令应用适当的规则,从 WordPress 根目录运行它:

 sudo find . -type f -exec chmod 664 {} + sudo find . -type d -exec chmod 775 {} + sudo chmod 660 wp-config.php

如果您不确定如何执行此操作或有点害怕,请继续向您的网络主机寻求帮助。

7. 检查失败的自动更新问题

有时 WordPress 会遇到更新问题,例如服务器超时。 通常,此问题会自动解决。 但是,在极少数情况下,它可能会导致 WordPress 白屏死机。

你应该做的第一件事是进入你的 WordPress 根目录,看看那里是否有一个.maintenance文件(文件名也可能是缩写的)。

您想要做的是尝试删除该文件并再次加载您的网站。

如果更新成功,但 WordPress 未能自动删除此文件,则一切应恢复正常。

如果更新没有完成,它可能会自动重新启动,在这种情况下,事情应该会恢复正常。

如果一切都失败了,请遵循推荐的 WordPress 手动更新程序,这应该可以一劳永逸地解决问题。

8. 解决语法错误或恢复备份

WordPress WSoD 的另一个常见原因是当您在 WordPress 网站上编辑代码时不小心输入错误或使用了错误的语法。

错误位置的一个角色可能会导致您的整个网站瘫痪,这就是为什么您永远不应该在实时生产网站上编辑代码的原因。

不过不用担心。 您始终可以通过 FTP 连接到您的站点并恢复您手动所做的更改。 如果您不知道是什么更改导致了问题,这就是让 WordPress 备份到位的地方。

在 Kinsta,您只需单击一下即可将您的网站恢复到较早的时间点。 为此,请登录您的 MyKinsta 仪表板并导航到Backups

MyKinsta 中的备份功能
MyKinsta 中的备份功能

请记住,如果您之前在 WordPress 中启用了调试模式,则可能还会出现指示解析语法错误的错误消息。 如果是这种情况,它应该会告诉您在哪里可以找到问题代码。

9.增加PHP文本处理能力

此时,如果 WSoD 尚未解决,您可以尝试另一种技巧。 在极少数情况下,由于页面或帖子特别长,可能会出现此问题。

如果是这种情况,您可以尝试通过增加回溯和递归限制来调整您网站上的 PHP 文本处理能力。 为此,请将以下代码粘贴到您的wp-config.php文件中:

 /* Trick for long posts / ini_set('pcre.recursion_limit',20000000); ini_set('pcre.backtrack_limit',10000000);

添加此代码后,保存更改。 然后刷新您的网站以查看它现在是否正常工作。

面对可怕的 WordPress 白屏死机? 不用担心...这 9 个修复程序将使您的网站立即恢复运行! 点击推文

概括

WordPress 死机白屏可能令人难以置信的令人沮丧,甚至令人恐惧。 有很多事情可能会出错,但幸运的是情况通常没有看起来那么糟糕。

在大多数情况下,一个简单的插件和/或主题检查应该可以解决 WSoD 问题。 更加熟悉 WordPress 调试模式肯定会更清楚地解决问题并为您提供指导。

如果您遇到任何其他 WordPress 白屏死机情况,请告诉我们,以便我们从中学习并分享经验!