如何修复 WordPress 白屏死机 (WSoD)

如何修复 WordPress-White-Screen-of-Death-WSOD-uai-258x129-1

您是否刚刚遇到可怕的死机白屏,不知道该怎么办?别担心。有很多解决方案。在本文中,我们将展示修复 WordPress 白屏死机 (WSoD) 的不同方法!

什么是 WordPress 白屏死机 (WSoD)?

白屏死机 (WSoD) 是管理员最可怕的噩梦之一。顾名思义,WSoD 是一个完全白色的屏幕,出现在 WordPress 网站上。在某些情况下,白屏仅出现在某些页面上,而在其他页面上不出现,而在其他情况下,它会出现在整个网站上,包括 wp-admin。

这是最常见的 WordPress 错误之一,也许是最令人沮丧的错误之一,因为它没有提供任何有关导致它的原因的信息。因此,故障排除是一项艰巨的任务。

如果空白屏幕没有为您提供有关错误的任何信息,我们如何知道白屏死机的原因可能是什么?让我们展开常见的原因。

什么可能导致 WordPress 白屏死机?

WordPress 白屏死机最糟糕的事情之一是它很常见。即使它没有为您提供可能导致它的任何线索,但通常有几件事是造成它的原因。请记住,并非所有这些都必须同时发生才能触发 WSoD。如果只有一件事出了问题,您可能会看到白屏就在您面前。

WordPress 白屏死机的一些可能原因是:

  • 插件和主题冲突:插件更新可能会在插件和主题之间产生冲突。相反,有时主题更新与插件之一冲突。这两种情况都可能导致站点无响应和可怕的白屏。
  • PHP:在向functions.php 文件添加脚本时编写的糟糕代码或轻微错误可能会损坏主题文件或使其无响应。这就是为什么在编辑任何核心文件之前,您应该始终创建站点的完整备份。
  • 集成:WordPress 集成之间的冲突,例如内容交付网络 (CDN)、SSL 证书等。
  • 损坏或丢失的 WordPress 文件:损坏或丢失的核心 WordPress 文件,如 wp-config、.htaccess 等。有错误或写得不好的代码可能会损坏这些文件并导致 WSoD。
  • 内存限制:超过服务器内存限制或最大执行时间的 PHP 请求。这意味着服务器没有足够的内存来处理请求,或者请求响应时间过长以致超过了允许的最大执行时间。
  • 服务器:有时问题不是来自您的一端,而是来自主机端的服务器。在这种情况下,该错误必须由托管服务提供商解决。

如前所述,并非所有这些原因都必须立即发生才能触发白屏。一个原因就足以导致您的网站无响应。这就是为什么您应该首先确定导致白屏的原因。

在下一节中,我们为每个原因汇总了所有可能的解决方案,因此您可以立即解决 WordPress 白屏死机。

如何修复 WordPress 白屏死机

修复白屏死机可能是一项艰巨的任务。但是,如果您有条理和耐心,您将能够启动并运行您的网站。

您可以采取以下步骤来摆脱不需要的白屏:

  1. 清除浏览器缓存和 cookie
  2. 清除WordPress缓存
  3. 在 WSoD 之前回顾你的步骤
  4. 进入恢复模式
  5. 停用所有插件
  6. 更改为默认主题
  7. 检查您的 WordPress 集成
  8. 启用调试模式
  9. 修复损坏的核心文件
  10. 调整服务器的内存限制或最大执行时间
  11. 联系您的主机

让我们仔细看看它们中的每一个。

1. 清除浏览器缓存和 Cookie

修复 WSoD 应该做的第一件事是检查问题是否来自浏览器。为此,应清除浏览器的缓存和 cookie。

不同的浏览器有不同的清除缓存数据和 cookie 的方法。例如,在 Chrome 中,您需要单击右上角的三个点图标,转到更多工具 > 清除浏览数据。

01.-Chrome-clear-browsing-data

将出现一个带有清晰浏览数据弹出窗口的新页面。您可以在此处选择要删除的数据。现在,检查缓存的图像和文件以及时间范围设置为所有时间的 Cookie,然后按清除数据。这将清除您所有的浏览器缓存和 cookie。 

02.-清除浏览数据和cookies-Google-Chrome

如果问题出在您的浏览器上,这将解决您的问题,并且您将能够访问您的网站。但是,如果这不起作用,则问题出在您的网站上。在这种情况下,请继续下一步。

2.清除WordPress缓存

修复白屏死机的另一个解决方案是清除 WordPress 缓存。为此,您必须有权访问您的 WP 管理仪表板。 

注意:在某些情况下,白屏死机也会影响管理页面,因此您被锁定并且无法访问您的站点。如果是这种情况,此解决方案将没有用处,因此您可以继续下一个。

对于那些有权访问其 WP 管理仪表板的人,您可以继续清除 WordPress 缓存。默认情况下,WordPress 没有提供删除缓存数据的方法,因此您需要使用插件。在本教程中,我们将使用 WP Rocket。

首先,安装并激活插件。之后,转到您的管理仪表板,导航到设置 > WP Rocket,然后单击仪表板部分下的清除缓存按钮。就是这样!您的所有缓存数据现在都将被删除。

03.-Clear-WordPress-cache-using-WP-Rocket-plugin

现在,既然您已经清除了 WordPress 缓存数据,请检查问题是否仍然存在。如果是这样,请继续下一步。

3. 重温 WSoD 之前的步骤

事先检查您的步骤可以帮助您排除故障并修复 WordPress 白屏死机。复制您在 WSoD 出现之前所做的事情可能会导致您找到确切的问题,或者至少可以让您初步了解导致错误的原因。

您需要做的是回顾并回忆您或您的任何队友在白屏出现之前所做的事情。不幸的是,我们在这一步无法为您提供太多帮助,完全取决于您如何定位错误。

但是,我们希望您在反思自己的行为时注意一些事项。

  • 首先,试着回忆一下在白屏死机出现之前你或你的队友在做什么
  • 您是否安装了任何新插件或主题或修改了任何预先存在的插件或主题?
  • 您是否更新了 WordPress、任何插件或主题?
  • 您是否对数据库或任何核心文件进行了任何更改?
  • 与 WordPress 有任何新的第三方集成吗?
  • 在此期间,您的团队中是否有人访问过 WordPress?他们在做什么?

这些只是几个问题供您参考,以帮助您记住在遇到白屏死机之前的所有操作。这可能会让您更好地了解导致问题的原因,并帮助您应用潜在的修复程序来恢复您的站点。

但是,有可能在出现白屏的任何时候都没有人在使用 WordPress。在这种情况下,收回您的步骤可能不是一个可行的解决方案,您必须继续进行修复。

4. 进入恢复模式

WordPress 5.2 的主要新闻之一是致命错误保护功能,因此您可能会看到一条消息“该站点遇到技术问题。请检查您的站点管理员电子邮件收件箱以获取说明。”

如果是这种情况,您应该检查您的管理员收件箱,看看是否有来自 WordPress 的电子邮件。该电子邮件包含有关错误的详细信息和激活恢复模式的链接。使用该链接并在恢复模式下访问您的 WordPress 管理仪表板。借助电子邮件中共享的错误详细信息,您可以相应地应用潜在的修复。

不过,如果这对您不起作用,或者您没有收到来自 WordPress 的任何电子邮件,请继续下一步。

5. 停用所有插件

与插件的冲突是 WordPress 白屏死机的最常见原因之一。如果您最近安装了新插件或更新了现有插件,则尤其如此。

要检查您的插件是否导致问题,您需要停用所有插件。有多种方法可以批量停用所有插件。

如果您有权访问管理仪表板,请转至插件 > 已安装插件,选择所有插件,然后将批量操作设置为停用。然后,按应用按钮停用所有插件。

04.-Deactivate-all-plugins-in-WordPress

相反,如果您无权访问管理仪表板,则需要通过 cPanel 或FileZilla等 FTP 客户端访问您的站点目录进入站点目录后,在 wp-content 文件夹下,您将找到另一个名为 plugins 的文件夹。将文件夹重命名为插件以外的任何名称以停用所有插件。

05.-Deactivate-WordPress-plugins-FTP

停用所有插件后,转到您的站点并查看白屏是否消失。如果是,那么就开始一个一个的激活每个插件,直到再次遇到白屏找到触发白屏死机的插件。

有关如何批量停用所有插件的更多信息,请查看此分步指南。

确定有问题的插件后,您可以将插件回滚到以前的版本或联系他们的客户支持。或者,您可以寻找其他类似的工具来实现相同的功能。

但是,如果停用插件不能修复 WordPress 白屏死机,您需要继续寻找原因。

6.更改为默认主题

如果停用插件不能解决 WSoD,那么接下来您应该检查您的主题。要检查问题是否出在主题上,请将其替换为默认主题。如果这解决了问题,那么您就知道您的主题位于白屏死机后面。

要将您的主题替换为默认主题,您需要通过主机 cPanel 或FTP 客户端访问您的站点目录进入目录后,找到 wp-content 文件夹,您将看到一个名为 themes 的文件夹。此文件夹包含您下载的所有主题。

06.-Themes-folder-WordPress-FTP

在主题文件夹中,找到您当前活动的主题。以防万一,如果您还没有这样做,我们建议您进行备份。之后,选择您的活动主题并将其删除。这会将您的站点更改为默认的 WordPress 主题(例如 221)。

07.-Delete-current-active-WordPress-theme-FTP

如果您没有任何默认主题或之前已删除它们,则需要手动将默认主题文件上传到您的站点目录。

切换到默认主题后,访问您的网站并查看它是否解决了问题。如果您没有看到白屏死机,那么您已经确认是您的主题导致了问题。在这种情况下,如果您最近更新了主题,您可以将主题回滚到以前的版本。此外,检查functions.php 文件是否有任何编程错误或末尾的空格。这很可能会解决您的问题。但是,如果没有,请联系主题开发人员以获得技术支持。

尽管如此,如果切换到默认主题后白屏没有消失,则问题出在其他地方,您将不得不继续挖掘。

7. 检查您的 WordPress 集成

除了插件和主题之外,其他第三方工具也可以与您的 WordPress 站点集成。这些示例可以是 SSL 证书或内容交付网络 (CDN),例如 Amazon Cloud Front。

重要的是要知道任何第三方集成之间的冲突都可能导致出现白屏死机。例如,Amazon CDN 与您的主机提供的 SSL 证书之间的冲突可能会导致您的站点关闭。

要确定问题是否与任何 WordPress 集成有关,您需要回忆一下在出现白屏之前您正在执行的活动。您应该问自己的一些事情是:您是否将任何新服务与您的网站连接起来?您是否修改了已配置服务的设置?等等。

如果您已完成其中任何一项操作,则需要撤消这些更改,如果这解决了您的问题,则您已成功确定根本原因。如果其中一些服务出现故障,那么您可能需要找到该服务的替代方案或联系服务提供商寻求解决方案。

但是,如果您的集成工作正常并且您仍然无法修复 WordPress 中的白屏死机,请继续下一步。

8. 开启调试模式

如果到目前为止没有任何效果,您可能需要启用调试模式。这将帮助您找到可能导致 WSoD 的潜在 PHP 错误。

调试模式将站点面临的所有错误记录到 debug.log 文件中。有了这些信息,您就可以找到白屏死机的原因并采取纠正措施来解决问题。

要启用调试模式,您需要访问站点目录。您可以通过 cPanel 或使用FileZilla或任何其他 FTP 客户端执行此操作。进入站点目录后,查找 wp-config.php 文件并在文本编辑器中打开它。

08.-wp-config.php-WordPress

之后,搜索以下行:

定义(’WP_DEBUG’,假)

并将其更改为:

定义(’WP_DEBUG’,真)

启用调试模式。

如果 wp-config.php 文件中不存在上述代码行,只需将其添加到文件中并保存即可。

现在,要将错误记录到 debug.log 文件中,您需要启用 WordPress 调试日志记录。为此,将以下行添加到 wp-config.php 文件并保存。

定义(’WP_DEBUG_LOG’,真);

09.-在WordPress中启用调试模式

这会将所有错误记录到 debug.log 文件中。您可以在 wp-content 目录中找到 debug.log 文件。日志文件包含有关网站面临的所有错误的信息,因此您可以利用这些信息找到问题并采取纠正措施。

完成调试后,不要忘记关闭调试模式和调试日志记录。为此,只需在两个代码片段中将 true 更改回 false。

希望调试模式能给您一些见解并帮助您摆脱白屏死机。但是,如果您仍然无法解决问题,请尝试以下解决方案。

9.修复损坏的核心文件

在遇到白屏之前,您最近是否对核心 WordPress 文件(例如 wp-config.php 或 .htaccess)进行了任何更改?如果是这样,您需要将修改后的文件恢复到原始版本以撤消最近的更改。如果由于这些变化而出现白屏死机,那么这种方法就可以解决问题。

要撤消最近的更改,您需要将 WordPress 的新副本下载到本地 PC。只需转到wordpress.org并按获取 WordPress 将最新版本的 WordPress 下载到您的计算机。下载完成后,解压缩 zip 文件,找到您需要交换的文件,然后复制它。

10.-Download-fresh-copy-of-WordPress

然后使用 FileZilla(或任何其他 FTP 客户端)或您的 cPanel 转到您的站点目录,并用您刚刚复制的新文件替换当前文件。现在返回您的站点,看看它是否解决了问题。或者,如果您的站点最近备份没有当前更改,则可以恢复它。

希望这将解决您的问题。如果您仍然无法修复 WordPress 白屏死机,请转到下一个解决方案。

10. 调整服务器的内存限制或最大执行时间

如果到目前为止没有任何效果,那么您可以尝试的最后一件事是调整服务器的内存限制或最大执行时间。有时,您的服务器没有足够的资源来处理传入的请求,因此您的站点出现故障,并出现白屏死机。

要解决此问题,您可以手动增加服务器的内存限制和最大执行时间。问题可能与其中之一有关,有时也可能与两者有关。首先,尝试增加内存限制,如果这不起作用,您将增加最大执行时间。

要增加服务器的内存限制,请向 wp-config.php、.htaccess 或 php.ini 文件中的任何一个添加一行代码。您需要编辑这些文件中的任何一个,所以让我们从 wp-config.php 开始,看看它是否能解决问题。如果没有,您将继续访问 .htaccess 文件,依此类推。

  • 将以下行添加到 wp-config.php 文件中:

定义(’WP_MEMORY_LIMIT’,’128M’);

  • 对于 .htaccess,添加以下行:

php_value memory_limit 128M
memory_limit = 128M

上面的代码行将内存限制设置为 128MB,应该适用于大多数站点。但是,如果需要,您可以将其增加到 256MB 或 512MB。

如果增加内存限制不起作用,则需要增加服务器的最大执行时间。为此,您必须编辑 wp-config.php、.htaccess 或 php.ini 文件。

正如我们之前看到的,您只需要编辑一个文件。从 wp-config.php 文件开始,如果这不起作用,请移至 .htaccess,最后移至 php.ini 文件。

  • 对于 wp-config.php,添加以下行:

设置时间限制(120);
php_value max_execution_time 120

  • 对于 php.ini,添加以下行:

最大执行时间 = 120

如您所见,上面的代码行只是将最大执行时间设置为 120 秒。但是,您可以进一步增加它,看看它是否能解决问题。

有时,托管服务提供商不允许用户增加服务器的内存限制或最长执行时间。如果这是您的情况,或者您只是觉得自己做起来不舒服,请联系您的服务提供商为您增加它。

有关这方面的更多信息,请查看我们关于如何增加 WordPress 中的最长执行时间的指南。

如果上述方法均无效,并且您仍然无法修复 WordPress 白屏死机,则需要联系您的主机并寻求帮助。

11. 联系您的托管服务提供商

到目前为止,您已经完成了解决问题的所有可能步骤。我们希望你们中的大多数人已经成功摆脱了死机白屏。

对于那些仍然面临问题的人,不幸的是,您无能为力。最有可能的是,您这边没有问题,问题出在您的托管服务提供商的某个地方,因此我们建议您联系他们并向他们解释您的问题。 

他们会告诉您他们是否面临任何问题,或者如果问题仅影响您的网站,则提供技术支持。

防止 WordPress 白屏死机的提示

到现在为止,您可能已经了解一个小错误可能会破坏您的网站并触发白屏死机。这就是为什么在对站点进行更改时应该非常小心的原因。

WSoD 很难排除故障,所以不惜一切代价尽量避免它。您可以采取以下一些预防措施来避免可怕的白屏死机:

  • 跟踪您和您的团队成员在 WordPress 上的活动,即使这只是插件更新。它将帮助您完成步骤,同时进行故障排除,以防万一发生不好的事情。
  • 定期备份并将它们存储在安全的地方,以便您以后可以访问它们。在编辑核心文件或对站点进行任何重大更改之前,这一点尤其重要。如果您不确定如何创建备份,请查看此分步指南。
  • 在将代码发布到 WordPress 之前,请始终在离线环境中测试您的代码。小错误会造成大麻烦,甚至会丢失分号“;” 可以使您的网站关闭。
  • 密切关注 WordPress 环境中的更新。WordPress、主题和插件的更新对于确保您的网站安全和正常运行非常重要。但是,更新的一个小问题可能会破坏您的网站。
  • 选择合适的主机。这看起来很明显,但它会产生很大的不同,尤其是当您遇到麻烦并需要快速有效的支持时。您网站的性能在很大程度上取决于托管服务,因此选择提供出色性能和客户支持的主机是关键。如果您不确定要选择哪个托管服务提供商,请查看这篇文章,我们会在其中回顾一些最好的托管服务提供商。

结论

总而言之,白屏死机是许多管理员面临的一个令人讨厌但非常普遍的问题。它可能因各种原因被触发,并且对其进行故障排除可能非常具有挑战性,因为空白屏幕不提供有关错误的任何信息。这就是为什么您应该通过定期备份、离线测试重要更改并密切关注更新来不惜一切代价避免这种情况发生。

但是,如果不幸遇到 WSoD,请不要惊慌。有多种潜在原因,因此您需要耐心等待并尝试找出问题的根本原因。

在本指南中,我们分析了修复 WordPress 白屏死机的潜在原因和解决方案。首先,尝试清除浏览器缓存和 cookie,并清除 WordPress 缓存。如果这不起作用,请回溯您的步骤并尝试复制您在出现白屏之前所做的事情。如果问题仍然存在,请进入恢复模式。然后,您可以尝试停用所有插件并切换到默认主题以及检查其他集成。

如果这不能解决问题,请启用调试模式以查找您站点上的 PHP 错误并尝试修复损坏的核心文件,并调整服务器的内存限制或最大执行时间。最后,如果没有任何效果,您应该联系您的托管服务提供商并寻求帮助。

我们希望这对您有用并帮助您修复 WordPress 白屏死机 (WSoD)。你遇到过白屏吗?如果是这样,你做了什么来解决这个问题?请在下面的评论中告诉我们。

最后,我们建议您还查看以下指南,以找到 WordPress 中其他常见问题的解决方案:

相关文章