如何修复 WordPress 白屏死机并保持网站健康

WordPress 网页出现白屏:原因、影响与解决方案

WordPress 白屏死机 (WSOD),也称空白屏幕错误,是一种常见的 WordPress 问题。它会导致网站完全显示空白,使网站所有者无法进入 WordPress 后台管理界面,并且通常不伴随任何错误信息。这使得网站管理员和开发者对其网站的状况感到困惑和焦虑。

当 WordPress 遇到阻碍其正常显示内容的故障时,就会发生 WSOD。与大多数错误消息不同,WSOD 不会提供任何线索或提示。此问题的原因可能多种多样,包括主题或插件之间的冲突、PHP 代码错误以及数据库不一致等。

解决白屏问题需要采用系统性的方法,通过细致的故障排除和调试来找到问题的根源。

本文旨在深入探讨 WordPress 白屏死机的原因及其影响,并提供一系列修复此错误的指南,帮助您维护健康的网站环境,为用户提供优质的访问体验。

WSOD 错误对网站性能和用户体验的损害

理解 WSOD 错误造成的负面影响,能够帮助我们更好地认识到及时处理并解决此问题的重要性。

以下是 WSOD 错误可能带来的一些严重影响:

网站功能失效

WSOD 导致网站无法加载任何内容,用户完全无法访问。这将导致网站的功能和可用性严重受损。用户无法获取所需的信息或服务,直接影响了用户交互和可访问性。

糟糕的用户体验

遇到白屏死机对大多数用户而言都是非常令人沮丧的体验,会让用户感到困惑和不确定。这会降低用户对网站的兴趣,并导致用户直接放弃访问。

网站流量锐减

当用户在访问您的 WordPress 网站时遇到白屏死机,他们很可能会转向其他网站。这会导致潜在流量的损失,因为用户会选择访问能够正常运行的网站。流量减少不仅会影响潜在客户和访问者的数量,还会影响您网站的整体覆盖范围和知名度。

品牌价值受损

出现 WSOD 错误的网站会严重损害您的品牌声誉。这可能会导致新老客户对您失去信任,并产生不可靠和不专业的印象。要重建用户信任和忠诚度将变得非常困难。

转化率降低

由于缺乏明确的行动号召或无法完成交易,出现 WSOD 错误的网站会显著降低将用户转化为客户或订阅者的能力,从而导致转化率大幅下降。

当网站无法正常运行时,访问者不太可能在您的网站上采取任何行动,这不仅会损失潜在的业务机会,也会造成潜在收入的损失。

搜索引擎优化受损

如果您的网站显示 WSOD 错误,它在被搜索引擎索引或排名时可能会遇到困难。如果问题持续时间过长,您网站在搜索引擎中的可见性将会受到严重影响。这将会降低您网站的排名,从而减少网站的可发现性和覆盖范围。

资源浪费

找出和解决 WSOD 错误的根本原因需要花费大量时间、精力和资源。将资源从其他重要活动中转移出来,可能会影响总体生产力并阻碍业务发展。

随着问题持续存在,您需要投入更多资源来查找和解决问题。这也会严重阻碍您网站的改进和维护工作。

WordPress 白屏死机错误的常见原因

在解决问题时,采用有条理的方法非常重要,逐一排除每个可能的原因,直到找到问题的根源。以下是 WordPress 中导致 WSOD 错误的常见原因:

插件和主题冲突

当插件和主题之间存在不兼容时,可能会发生 WSOD 错误。当两个或多个插件或主题之间存在代码冲突时,或者当插件或主题被弃用或开发不完善时,都会出现这种情况。

PHP 代码错误

WordPress 安装中的 PHP 代码错误也可能导致 WSOD 错误。通常是由于语法错误、函数过时或服务器上安装的 PHP 版本问题引起的。

内存限制问题

如果您的 WordPress 网站使用的内存超过分配的内存,则可能会出现 WSOD 问题。这通常发生在内存消耗大的插件或主题由于资源密集型内存使用而使服务器负担过重时。

文件损坏

WSOD 问题可能是由损坏的核心文件、主题或插件文件引起的。这可能是文件上传失败、病毒感染或文件处理过程中服务器出现问题的结果。

数据库问题

数据库问题(例如损坏或连接问题)也可能导致 WSOD 错误。如果 WordPress 无法连接到数据库,或者在检索或保存数据时遇到问题,则可能会出现白屏。

错误的文件权限

不正确的文件和文件夹权限是 WordPress 中 WSOD 错误的另一个原因。如果相关文件不可访问,您的网站将无法正常显示。另外,如果服务器没有适当的权限来读取或执行您的文件,则会发生 WSOD 错误。

错误的自定义设置

分配给 WordPress 文件和目录的权限不当可能会导致出现 WSOD 错误。基本文件无法访问,或服务器读取或执行它们的权限不足,可能会阻碍您网站的正常呈现。

现在,让我们看看如何解决 WordPress 中的 WSOD 错误。以下是一些简单而有效的解决方案,可帮助您快速解决问题:

禁用插件

有时,您 WordPress 站点中安装的某个或某些插件可能会导致兼容性问题,从而引发白屏死机错误。您可以按照以下步骤解决此问题:

  • 登录到您的管理仪表板并转到“插件” > “已安装的插件”。
  • 选中每个插件旁边的复选框以选择全部插件。
  • 从“批量操作”下拉菜单中选择“停用”,然后单击“应用”。

  • 访问您的网站并检查问题是否已解决。如果问题解决,请继续下一步。
  • 逐个激活每个插件,并在激活每个插件后重新加载您的站点。这有助于您找出导致问题的插件。

如果您无法访问管理面板,可以使用安全文件传输协议 (SFTP)。您也可以登录到您的 CPanel 并进行修复,这两个过程非常相似:

  • 找到并打开“public_html”文件夹,然后进入“wp-content”文件夹。
  • 将“plugins”文件夹重命名为 “plugins_old” 之类的名称。

  • 访问您的网站并检查白屏死机是否仍然存在。如果您的网站开始正常运行,请继续执行下一步。
  • 在“plugins_old”文件夹中,逐个重命名每个单独的插件文件夹,并在重命名后检查您的网站。这将有助于您确定导致问题的特定插件。

如果仍然因为兼容性问题而遇到错误,可以联系插件开发者寻求帮助。

禁用活动主题

WordPress 主题也可能与其他插件冲突,或者像插件一样过时。文件损坏也可能会导致主题安装不正确。因此,建议暂时将当前主题替换为默认的 WordPress 主题。

如果您的主题是导致问题的根源,您可以按照以下步骤来解决 WSOD 错误:

  • 导航到 WordPress 管理面板并单击“外观” > “主题”。
  • 激活一个默认的 WordPress 主题,例如 Twenty Twenty-Three。

您也可以通过安全文件传输协议 (SFTP) 访问您的网站并获得对您网站的访问权限。在这种情况下,请遵循以下步骤:

  • 通过 SFTP 访问您的站点后,找到“public_html”文件夹。然后打开“wp-content”文件夹。
  • 在“主题”文件夹中,找到与您当前活动主题相关的文件夹。
  • 在活动主题文件夹的名称末尾添加“_old”。此操作将禁用您当前激活的主题。

  • 再次访问您的网站,检查是否消除了“死亡白屏”。如果问题得到解决,那么您已成功定位到问题所在。只需联系主题开发者并向他们提供所遇到错误的详细信息。此外,向他们询问主题的最新和修复版本。

重新定义内存限制

当您安装插件或主题时,会在您的 WordPress 网站上启动多个脚本。每次使用时,它都会从您的服务器占用一部分 RAM。为防止脚本减慢您的网站速度,WordPress 会限制插件的内存使用。

然而,当脚本需要更多的 RAM 时,仍然会发生 WSOD 错误。幸运的是,您可以通过以下步骤为您的 WordPress 插件分配更多内存限制:

  • 使用 SFTP 并登录到您的服务器。
  • 找到并打开 public_html 文件夹,并找到 wp-config.php 文件。
  • 右键单击 wp-config.php 文件并选择“查看/编辑”选项。
  • 向下滚动到文件底部并插入以下代码行。
define( 'WP_MEMORY_LIMIT', '64M' );

此代码为 WordPress 加载的脚本分配最多 64 兆字节的内存。

  • 保存所有更改,并将修改后的文件上传回您的服务器。
  • 访问您的网站以确认它现在是否正常运行。

清理浏览器和 WordPress 缓存

目前,大多数网站都允许浏览器将文件保存在本地,以缩短页面加载时间。这种将网站数据存储在浏览器上的方法称为浏览器缓存。但浏览器缓存也可能导致 WordPress 出现白屏死机错误。

以下是使用 Google Chrome 清理浏览器缓存的常见步骤:

  • 打开 Google Chrome 浏览器并单击右上角的三点图标。
  • 转到“更多工具”,然后单击“清除浏览数据”。
  • 浏览设置并选择“基本”选项卡。
  • 选择您想要清除的时间范围,或选择“全部时间”以清除所有缓存数据。
  • 选中“缓存的图片和文件”旁边的复选框。

  • 单击“清除数据”以开始清除过程。
  • 等待该过程完成,您将收到一条确认消息。

您还可以使用 WP-Optimize 或 WP Super Cache 等插件来清除 WordPress 站点的缓存。例如,以下是使用 WP Super Cache 的步骤:

  • 登录到您的 WordPress 网站。
  • 转到“设置” > “WP Super Cache”。
  • 单击“删除缓存”按钮。

开启调试模式

如果您仍然无法摆脱 WSOD 错误,请开启调试模式,这将显示您网站上的错误。这将帮助您详细了解错误信息,请执行以下步骤:

  • 通过 SFTP 访问您的 WordPress 站点核心文件。
  • 或登录到您网站的控制面板 > 文件管理器 > public_html。

  • 打开 wp-config.php 文件,并找到这行代码:`define( ‘WP_DEBUG’, false );`
  • 将代码更改为:`define( ‘WP_DEBUG’, true );`
  • 重新加载站点,然后查看错误信息。
Cannot redeclare get_posts() (previously declared in /var/www/html/wordpress/wp-includes/post.php:1954) in /var/www/html/wordpress/wp-content/plugins/test-plugin/test-plugin.php on line 47
  • 如您所见,问题出在名为 test-plugin 的插件的第 47 行。现在您已查明导致 WSOD 错误的具体原因,禁用该插件即可解决您网站的问题。

检查文件权限

文件权限问题也可能导致您的 WordPress 站点出现 WSOD 错误,但您可以轻松解决这些问题。方法如下:

  • 登录到您的 cPanel 并单击“文件管理器”。
  • 单击 “public_html” 文件夹。
  • 选择文件夹,单击鼠标右键,然后将权限值设置为 775 或 755。

  • 对于文件,将权限值设置为 664 或 644。

  • 将 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

解决自动更新问题

有时,您可能会遇到诸如服务器超时之类的更新问题,这会导致 WSOD 错误。虽然这个问题通常会自动解决,但有时需要人工干预。您可以采取以下措施:

  • 导航到 WordPress 安装的根目录。
  • 检查是否有名为“.maintenance”的文件。
  • 删除“.maintenance”文件并重新加载您的网站。
  • 如果更新成功,但 WordPress 未能自动删除该文件,您的网站应该会恢复正常运行。
  • 如果更新未完成,它可能会自动重启,您的网站应该也能正常运行。
  • 如果上述步骤未能解决问题,请使用推荐的 WordPress 手动更新程序。这个全面的更新过程应该一劳永逸地解决问题。

修复语法错误

WordPress 网站中的代码错误可能会导致 WSOD 错误。这些错误通常在出现拼写错误或语法错误时发生。一个错位的字符就有可能导致您的整个网站瘫痪。因此,永远不要直接在您的实时站点上编辑代码。

不过,不必过于惊慌。您可以通过使用 FTP 连接到您的站点并撤消代码更改来纠正这种情况。如果您不确定自己所做的更改,因为这涉及站点中的大量代码。那么,在这种情况下,WordPress 备份将显得非常有价值。

增强 PHP 文本处理能力

当页面或帖子特别长时,您可能需要增加站点的文本处理能力。您可以通过调整网站上的 PHP 文本处理能力来完成此操作。为此,您需要通过将以下代码添加到 wp-config.php 文件来增加回溯和递归限制:

/* Increasing PHP Text Processing capability */
ini_set('pcre.recursion_limit',20000000);
ini_set('pcre.backtrack_limit',10000000)

如果在所有故障排除尝试之后仍然出现 WOSD 错误,那么是时候联系您的托管服务提供商了。他们的技术支持人员可以访问并了解您网站和服务器的代码。因此,他们可以在必要时尽快修改代码并解决错误。

防止 WordPress 白屏的最佳实践

如果您想避免遇到 WSOD 错误,强烈建议您实施以下最佳实践:

  • 定期更新 WordPress 核心、主题和插件,以确保兼容性、修复错误并增强安全性。
  • 在您的实时 WordPress 站点中应用更新之前,请先在测试环境中测试更新。
  • 为您的网站选择代码规范、可靠且兼容的主题和插件。
  • 通过在您的站点上启用调试模式,来获取详细的错误信息。
  • 备份您所有的 WordPress 文件和数据库进行安全存储。
  • 不要直接在您的生产网站上编辑任何代码。
  • 监控您的服务器资源,例如内存限制、CPU 使用率、磁盘空间等。
  • 利用缓存插件或内容交付网络来提高站点性能。

最后的思考

处理 WordPress 白屏死机可能是一种令人沮丧和担忧的体验。但重要的是要记住,情况通常比看起来更容易控制。

大多数情况下,通过对插件和主题执行基本检查就可以解决 WSOD 问题。通过执行本文中提及的方法,您将对问题有更深入的理解,从而能更好地解决其他 WordPress 错误。

您还可以探索一些用于故障排除的 WordPress 调试工具。