如何修复 WordPress 白屏死机

已发表: 2023-03-01

没有什么比加载您的网站并看到空白屏幕更糟糕的了。 没有错误消息,没有明确的问题,只是白屏死机。

这是最常见的 WordPress 错误之一。 最糟糕的部分? 这个问题不仅会使访问者无法访问您的 WordPress 网站,管理员也无法访问。


什么是死亡白屏?

当网站的 PHP 或数据库发生错误时,就会出现白屏死机 (WSoD)。 WSoD 也可能显示为一条消息,“此页面无法正常工作,无法处理请求”或“站点遇到技术困难”。 这称为 HTTP 500 错误。


幸运的是,死机白屏是可以修复的! 对 WordPress 站点上的 HTTP 500 错误进行故障排除的第一步是确定您是否有权访问 wp-admin。 尝试转到您的登录页面并登录。如果网站的前端已关闭,但管理员正在工作,则很可能是由于错误的主题或插件造成的。

如果您网站上的脚本耗尽了内存限制,它也可能导致 HTTP 500 错误。 由于死机白屏有不同的原因,因此有多种修复方法。

本文将教您如何通过以下方式修复死机白屏:

  • 使用 WordPress 调试工具
  • 禁用主题和插件
  • 使用您网站的备份
  • 增加站点的内存
  • 解决语法错误
  • 识别文件权限问题
  • 完成 WordPress 更新

使用 WordPress 调试

工具

WordPress 带有特定的调试系统,旨在简化流程以及跨核心、插件和主题标准化代码。 将调试视为查看错误来源和根本原因的路线图。

要了解如何通过WP_DEBUG, WP_DEBUG_LOG, WP_DEBUG_DISPLAY, SCRIPT_DEBUG,SAVEQUERIES进行调试,请单击此处。

虽然调试工具不一定能解决您的问题,但它们可以帮助您指明正确的方向。 这就是为什么在对死机白屏进行故障排除时,这是一个很好的第一步,这样您就不会花费任何额外的时间来尝试解决错误的事情。

如果您不确定启用 WP_DEBUG 后看到的任何错误,请联系我们并附上错误消息和您正在处理的站点。 我们很乐意提供帮助!


如何通过禁用 WordPress 主题和插件来修复死机白屏

很多时候,WordPress 网站出现故障是因为存在插件冲突或服务器上运行的 PHP 版本不支持插件。 想想过去 24 小时:网站上是否安装了任何新主题或插件? 禁用最近下载的插件或切换主题是最好的开始。

如果您有权访问 wp-admin...

登录并禁用您认为可能导致问题的插件或主题。 一旦停用,请在您的网站上进行硬刷新。 如果它加载,你就找到了罪魁祸首! 如果您仍然看到死机白屏,您有两个选择:您可以禁用不同的主题或插件,或者您的 HTTP 500 错误背后可能有不同的原因。

如果您无权访问 wp-admin...

仍然可以通过 SFTP 禁用您的主题和插件。 连接到您的网站,然后导航到 wp-content 文件夹。 在这里您可以找到您网站的所有主题和插件文件。 通过重命名文件,您可以停用您网站上的主题或插件。 做出更改后,请在您的网站上进行硬刷新。 如果它加载了,那就意味着你找到了正确的插件! (现在应该可以再次登录 wp-admin)。 如果您仍然看到死机白屏,则您可能遇到了不同的问题。

专业提示:有时问题不在于单个插件或主题,而在于它们如何相互交互。 要排除这种情况,您可能需要禁用所有主题和插件,然后一次重新安装一个。

除了冲突之外,过时的 WordPress 插件有时会导致 HTTP 500 错误。 如果您一直在推迟更新,我建议运行这些更新以确保您的插件和主题处于最佳状态!


如何使用站点备份修复死机白屏

如果您很快发现 WSoD,摆脱它的最简单方法之一就是将您的站点回滚到错误发生前的最新备份。 此过程可以帮助您查明错误开始的时间,因此可以更轻松地识别更改的内容和可能导致 HTTP 500 错误的内容。

即使您不亲自备份您的网站,大多数托管 WordPress 托管服务提供商也会自动运行您网站的备份并提供恢复过程。 如果您的网站托管在 Flywheel 上,我们每晚都会备份您的网站并存储最后 30 个。您可以从 WordPress 仪表板自行快速轻松地恢复备份。 如果您的网站由不同的提供商托管,请尝试联系他们请求恢复。

一旦您回滚了您的网站,请不要忘记首先尝试找出导致错误的原因。 它是网站上的新插件吗? 更新没有正确完成? 虽然通过备份摆脱死机白屏是件好事(因为这意味着您的网站已备份!),但请记住采取下一步确定原因,以免重复同样的情况。


如何通过增加站点内存来修复死机白屏

有时会导致 HTTP 500 错误,因为您的站点已经用完了分配的内存。 如果您收到“允许的 xxxxxx 字节的内存大小已耗尽”的错误,则表明您需要进入并增加内存。

注意:大多数受管理的 WordPress 主机会为您处理此事,因为这是服务器级别的设置。 如果您的站点托管在 Flywheel 上,只需向我们的支持团队发送一条消息,说明您需要增加站点的内存,我们会对其进行修补。

手动解决方案是为应用程序分配更多 PHP 内存。 这可以通过许多安装中的 wp-config.php 文件来完成; 只需将以下代码添加到文件中:

将 PHP 内存增加到 64MB:

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

将 PHP 内存增加到 96MB:

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

注意:出于安全原因,WP Engine 会锁定您的 wp-config.php 文件,并且不允许直接对其进行更改。 我们这样做是因为它是由我们的软件自动生成的,并且因为你想在那里做的大部分事情都会自动为你配置。

在使用此功能之前,WordPress 会自动检查 PHP 分配的内存是否少于输入的值。 例如,如果 PHP 已分配 64MB,则无需将此值设置为 64M,因为 WordPress 会在需要时自动使用所有 64MB。


如何通过解决语法错误来修复死机白屏

语法错误通常是由代码语法错误引起的。 您可能不小心输入错误或粘贴了错误的语法,这导致了 WSoD。

解决语法错误的最简单方法是将您的站点回滚到死机白屏之前的版本。 这会将您的站点推回并将其恢复到错误发生之前的最后一个备份,而不必跳入并编辑代码。

解决语法错误的另一种方法是编辑语法错误中提到的文件。 通常,语法错误将引用文件以及发现错误的代码行。

要编辑受影响的文件,您可以采用两种不同的方法:

  1. 根据您的服务器设置,通过 FTP 或 SFTP 下载受影响的文件
  2. 使用虚拟主机提供的工具直接在服务器上编辑文件

FTP 客户端是一种应用程序,可帮助您连接到您的网站并使用 FTP 协议传输文件。 一些免费解决方案包括 Filezilla 和 Cyber​​duck。 下载受影响的文件后,尝试根据文本编辑器(例如 Sublime)中的行代码确定错误来源。 一旦您认为您已经更正了语法错误,请通过 FTP 将文件上传回您的服务器。 硬刷新您的网站,看看您的网站是否恢复到正常状态。

如果您的虚拟主机提供了一种工具,可以通过在线文件管理工具直接在服务器上编辑文件,则可以使用第二个选项。 如果他们提供这种性质的工具,您可以登录,找到文件,进行必要的更改,然后保存。

[article_callout]

专业提示:您可以通过在本地环境而不是实时站点中进行站点更新来避免语法错误导致的白屏死机。 Local 是专门针对 WordPress 网站的免费解决方案,可以轻松提取网站副本以进行离线编辑,并将更改实时推送到生产环境。

[/article_callout]


如何通过识别文件权限问题来修复死机白屏

拥有不正确的文件和文件夹权限可能会导致您的 WordPress 网站在上传过程中出现错误,从而导致白屏死机。

为什么? 因为文件和文件夹权限告诉服务器谁可以读取、运行或修改您帐户上托管的文件。 通常,WordPress 会警告您它无法编辑文件、创建文件夹或写入磁盘。 但是,有时您可能看不到错误消息。

要检查您的站点具有哪些文件和文件夹权限,请通过 FTP 连接到您的站点。 连接后,转到 WordPress 站点的根文件夹。

从那里,选择根目录中的所有文件夹,然后右键单击以选择“文件权限”。 一个新框应该弹出一个数值。 推荐值为“755”,所以如果您看到不同的东西,请继续进行更改。 单击“递归到子目录”复选框,然后选择“仅应用于目录”选项。 单击“确定”。 您的 FTP 客户端将开始设置文件夹和子文件夹的文件权限,因此请花几分钟时间完成。

接下来,选择 WordPress 站点根文件夹中的所有文件和文件夹,然后右键单击以选择“文件权限”。 这次,文件权限框中的数值应为“644”。 如果有所不同,请输入新值,单击“递归到子目录”复选框,然后选择“仅应用于文件”选项。 单击“确定”继续。

现在,您的 FTP 客户端将开始为您的 WordPress 站点上的所有文件设置文件权限。 给它几分钟时间来完成,然后重新刷新。


如何通过完成 WordPress 更新来修复死机白屏

有时 WordPress 会遇到更新问题。 大多数时候,它会自行解决,但偶尔会导致白屏死机。

有两种方法可以完成 WordPress 更新:

  1. 删除 .maintenance 文件
  2. 手动更新

第一步是进入您的 WordPress 根目录并查看是否有 .maintenance 文件。 名称以点开头,这意味着它是一个隐藏文件。 如果您使用 FTP 程序没有看到它,请尝试登录到服务器的控制面板并使用文件管理器找到并删除它。 删除该文件后,再次加载您的网站。 如果更新成功,而 WordPress 未能自动删除该文件,您的网站将正常加载。

如果您仍然遇到问题,则可能是更新不成功。 在这种情况下,您可能需要手动运行更新。


概括

死机白屏可能由许多问题引起。 虽然尽快恢复并运行您的站点很重要,但请记住,了解问题及其发生的原因可以防止将来出现 HTTP 500 错误。 通过这些步骤,您将能够在短时间内恢复并运行您的网站!