如何修复 WordPress 白屏死机(一步一步)

WordPress 白屏死机是最常见的 WordPress 错误之一.这也是最令人沮丧的问题之一,因为没有错误消息,而且您被 WordPress 锁定.

白屏死机错误的另一个问题是,有时它只会影响您网站的某个部分.

例如,您可能只会在 WordPress 管理区域内看到白屏死机,而其他一切正常.在其他情况下,您可能只会在特定帖子上看到它,而其他一切都正常.

在本文中,我们将通过查看不同的解决方案向您展示如何修复 WordPress 白屏死机.

Fixing WordPress white screen of death error

注意:在对网站进行任何更改之前,请确保您有 WordPress 网站的备份.如果您无权访问管理区域,请参阅我们关于如何手动创建 WordPress 数据库备份的指南.

为什么您会在 WordPress 中看到白屏死机?

当您看到白屏死机时,大多数情况下,这意味着您网站上的脚本耗尽了内存限制.

无响应的脚本要么被您的 WordPress 托管服务器杀死,要么只是超时.这就是为什么没有生成实际错误消息,您会看到纯白色屏幕的原因.

WordPress showing white screen instead of website

有时您可能会看到一条严重的错误消息,而不是纯白的屏幕.

无论您看到的是空白屏幕还是"您的网站出现严重错误"消息,都是相同的错误.

此错误也可能是由于您网站上安装的主题或插件编码不当而导致的.有时,如果您的网络托管服务器出现问题,就会发生这种情况.

由于白屏错误可能由多种原因引起,因此需要有条不紊地进行故障排除才能解决.

问题是否出现在您的其他网站上?

如果您在同一主机帐户上安装了其他 WordPress 网站,那么您首先要检查其他网站是否也出现了问题.

如果是,则强烈表明您的 WordPress 托管服务出现问题.这可能是影响他们服务的临时问题,您需要联系他们的支持以获得更多帮助.

另一方面,如果问题仅发生在一个网站或该网站的特定部分,那么您就知道问题出在该特定网站上.

使用 WordPress 恢复模式修复白屏错误

如果白屏死机错误是由 WordPress 插件或主题引起的,那么 WordPress 或许能够捕捉到它.

WordPress 5.2 中引入的新的致命错误保护功能有时可以捕获错误,因此您甚至可能看不到白屏.相反,您会看到一条消息,指出该站点存在技术问题.

Technical difficulties

您还会在您的管理员电子邮件地址中收到一封电子邮件,主题是"您的网站存在技术问题".

Technical issue email sent to admin

此电子邮件消息将指出导致错误的插件,并且还将包含一个特殊链接.此链接将允许您登录 WordPress 恢复模式并停用有故障的插件.

WordPress recovery mode

但是,如果您看到没有电子邮件或恢复模式选项的纯白死机屏幕,则需要手动修复错误.

增加内存限制

通常情况下,出现这个错误是因为某个脚本耗尽了内存并中途退出.要解决此问题,您需要增加 WordPress 可用的 PHP 内存.这将允许脚本使用更多内存来完成它应该做的工作.

您可以按照我们的教程中有关如何在 WordPress 中增加 PHP 内存的说明进行操作.

禁用所有插件

如果增加内存限制没有帮助,或者如果您的内存限制很高,例如 256M 或 512M,那么您需要开始故障排除.

根据我们对此问题进行故障排除的经验,我们始终发现问题出在特定插件或主题上.让我们继续并禁用所有插件.

如果您仍然可以访问 WordPress 管理区域,那么您只需转到 插件 »已安装的插件页面.选择所有已安装的插件,然后在"批量操作"下拉菜单下选择"停用".

Deactivate all plugins via WordPress admin area

但是,如果您无权访问 WordPress 管理区域,则需要通过 FTP 停用所有插件.

首先,使用 FTP 客户端连接到您的 WordPress 站点.连接后,转到 wp-content 文件夹,您将在其中看到"插件"文件夹.

Rename plugins folder to deactivate all plugins

现在,您需要右键单击插件文件夹,然后选择重命名.您可以将插件文件夹重命名为 plugins-deactivated.

Plugins deactivated

您的 FTP 客户端现在将重命名插件文件夹.

WordPress 会寻找一个名为 plugins 的文件夹来加载所有插件.当它找不到文件夹时,它只是停用所有插件.

如果这解决了问题,则一次启用一个插件以找出问题的根源.找到导致问题的插件后,您可以将其替换为替代插件或将问题报告给插件作者.

用默认主题替换主题

如果插件故障排除没有解决问题,那么您应该尝试用默认主题替换当前主题.

首先,使用 FTP 客户端连接到您的网站并转到/wp-content/themes/文件夹.它包含您网站上所有已安装的主题.

右键单击以选择您当前的 WordPress 主题并将其下载到您的计算机作为备份.

Download current theme as backup

接下来,您需要从您的网站中删除您当前的主题.右键单击您的主题文件夹,然后选择"删除".您的 FTP 客户端现在将从您的网站中删除该主题.

Delete current theme

现在,如果您的网站上安装了默认的 WordPress 主题(如(二十十八或二十九),那么 WordPress 将自动开始使用它作为默认主题.

但是,如果您没有安装默认主题,那么您需要使用 FTP 手动安装它.

如果这解决了问题,那么您应该查看主题的 functions.php 文件.如果文件底部有多余的空格,那么您需要删除它们,有时这可以解决问题.

如果您在主题的functions.php 文件中使用了编码不当的函数,那么它也会导致白屏死机错误.

考虑从源下载主题的新副本,然后安装它.

启用调试模式以捕获 WordPress 中的错误

如果到目前为止没有任何帮助,那么下一步是在 WordPress 中打开调试.这将允许您查看正在输出的错误类型.

只需将以下代码添加到您的 wp-config.php 文件中.

define( 'WP_DEBUG', true);
define( 'WP_DEBUG_LOG', true );

添加此内容后,空白屏幕现在将显示错误、警告和通知.这些可能能够帮助您确定根本原因.

如果您没有看到任何错误,您可能仍需要查看调试日志.只需使用 FTP 客户端访问您网站上的 wp-content 文件夹.在那里您将找到一个新的 debug.log 文件,其中包含所有错误、通知和警告的日志.

Debug log

清除 WordPress 缓存

有时,您可能可以访问后端,但站点的前端却出现白屏死机.这可能是由于缓存插件而发生的.只需清空缓存.

有关详细说明,请参阅有关如何清除 WordPress 中的缓存的指南.

修复较长的文章

如果只有在很长的帖子或页面上出现白屏死机,那么这个小技巧可能会奏效.

这个技巧通过增加递归和回溯限制,基本上提高了 PHP 的文本处理能力.您可以将以下代码粘贴到 wp-config.php 文件中.

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

我们理解这是一个非常令人沮丧的错误,我们希望上述技巧之一为您解决了这个问题.您可能还想查看我们的 WordPress 故障排除指南,该指南介绍了您应该采取哪些步骤来自行发现和修复 WordPress 问题.

8

发表回复