WordPress建站中白屏死机的故障排除和修复

要修复 WordPress建站过程中的白屏死机,请按照以下步骤找到解决方案,是按照我遇到过的最常见的 WSOD 原因顺序组织。错误记录和调试步骤 (#2) 是最技术性的,但它是彻底的并且总是会告诉你是什么导致 WordPress 程序的终止。

北京六翼信息技术有限公司为大家提供了几个免费插件,它们可以成为有用的诊断和修复工具。您可能还会发现它的数据库扫描和修复功能以及文件更改检测特别有用。它甚至具有服务器工具,可以更深入地了解您的服务器设置和功能。

最后,一个好的、最近的备份将使您的网站恢复到最后已知的良好状态。Backup Buddy是这个角色的最佳插件。

1. 清除浏览器缓存和 Cookie

浏览器和服务器中站点的缓存页面可能会向您显示与实际情况不同的内容。让我们确保您看到的是 WordPress 向您网站的全新访问者展示的内容。
首先,清除浏览器的缓存和 cookie。如果您登录到 WordPress 或任何其他站点,这将结束您的用户会话,以便您像其他访问者一样查看它。
接下来,使用您的托管面板和 WordPress 管理员(如果可用)清除您的主机和 WordPress 缓存插件正在创建的任何服务器端缓存。尝试关闭所有站点和服务器缓存。在浏览器中执行硬刷新。如果这样可以解决问题,则问题可能是您激活了缓存设置但在您的系统上不起作用。通过排除过程,您可以确定哪些有效,哪些无效。

2. 查找 PHP 错误

WordPress 核心、主题或插件中的 PHP 代码可能会产生致命错误,这将使 WordPress 放弃死机白屏。

要获得有关致命 PHP 错误及其原因的更多信息,您可以打开 PHP 错误报告并将其发送到屏幕、日志文件或两者。致命错误可能指向 WSOD 的来源。

作为基于 PHP 的 Web 应用程序,WordPress 有自己的调试诊断报告系统,可帮助您利用 PHP 的错误记录功能。要打开并控制它,请确保其中有一行wp-config.php内容:

定义('WP_DEBUG',真);

您可能需要添加它或将值从 false 更改为 true。这告诉 WordPress 打开 PHP 调试。

您还可以通过安装和激活WP 调试插件来走捷径。它将为 WordPress 开启 PHP 调试,而无需您wp-config.php自己直接修改。

下面显示的附加wp-config.php参数会将调试输出作为 HTML 打印到屏幕上,默认情况下名为“error_log”的文件:

define('WP_DEBUG_DISPLAY',true);

define('WP_DEBUG_LOG',true);

强制 WordPress使用其 CSS 和 JavaScript 依赖项的非优化版本也可能会有所帮助,因为它们可能会导致问题:

define('SCRIPT_DEBUG',true);

Debug Bar插件是一个有用的附加和补充工具。它将在一个漂亮的界面中向您显示调试数据。

为此,php.ini必须有一行为error_reporting常量提供除 以外的值NONE,例如error_reporting = E_ALL。此行的标题不应有分号;这使它成为评论而不是活动设置。请注意,如果您使用E_ALL.使用不同的值,例如E_ERROR仅记录导致 WordPress 崩溃的致命运行时错误。

3.检查主题和插件冲突

如上一步所述调试 PHP 错误应该指向一个明确的主题或插件文件作为 WSOD 的来源。您还可以使用技术性较低的消除过程方法来关闭它。

故障排除主题

白屏死机通常是由 WordPress 主题和/或插件之间的冲突引起的。要确定冲突源,您可以尝试停用所有插件并切换到带有 WordPress 核心的当前未修改的默认主题包,例如 Twenty-Twenty-Three。

从主题开始——这是最容易测试的。如果将您的活动主题切换为已知良好、未经修改的默认主题使您的网站恢复在线,则您知道问题出在您一直使用的主题上。

查看您的主题functions.php文件(如果有)。如果您最近更改了它,那很可能是您不幸的根源。该functions.php文件是添加自定义功能代码的地方,以便在激活时与主题一起使用。这里的错误代码和语法错误会给你一个 WSOD。

插件故障排除

您可以停用插件,而无需通过命令行/SSH 或 SFTP 访问 WordPress 管理员,只需将插件文件/wp-content/plugins/夹暂时移出文件夹即可。我的做法是创建一个名为“A”的插件子文件夹,使其首先出现在按字母顺序排序的/plugins目录中。然后我将所有其他插件文件夹移动到“A”。

完成此操作后,重新加载您的网站。WordPress 的行为就好像插件都消失了一样。它们仍然安装但已停用。如果白屏死机消失了,您可以尝试一个一个地重新激活您的插件和主题,每次都刷新您的主页,看看是哪个导致您的网站崩溃。

Meks Quick Plugin Disabler是一个方便的工具,可以快速禁用所有活动插件,然后根据您的命令从 WordPress 管理员内部重新启用它们。

4.修复损坏的核心文件

您的 WSOD 可能是核心 WordPress 文件损坏的结果。虽然这不太可能,但只需在 WordPress 仪表板更新区域中单击一下即可快速重新安装最新版本的 WordPress。这不会损害您的任何插件、主题或现有内容,因此这是一种确认您的核心文件是否正常的好而简单的方法。

如果上述步骤均无济于事,则 WSOD 可能是由您无法控制的服务器环境问题引起的。在这种情况下,您可能需要联系您的托管服务提供商寻求帮助。作为最后的手段,您还可以通过恢复备份将您的站点回滚到“最后一次正确”状态。