如何修复 WordPress 死机白屏
已发表: 2022-06-16WordPress 通常是可用的最稳定的内容管理系统之一。 在开发人员和企业中广受欢迎,据估计,44%-65% 的所有网站都建立在它之上。 尽管如此,有时也会出现问题。 可能发生的最令人费解和令人愤怒的错误之一是 WordPress 白屏死机 (WSoD)。 当那个白屏抬起丑陋的头时,可能没有任何消息可以帮助您识别问题。 哪个不好。
如果您的某个网站曾经发生过这种情况,那么当您阅读本文时,您可能一想到它就会畏缩不前。 我们也时不时地经历过这种情况。 结果,诅咒可能已经发出。 但是,没有必要恐慌。 在这篇文章中,我们将通过几个简单易懂的步骤向您展示解决这个令人讨厌的问题的几种解决方案,从而帮助您保持理智 - 并将金钱从您的咒骂罐中拿出来。
什么是 WordPress 死机白屏?
简而言之,这至少是个麻烦事。 有一天,您的网站正在运行,按应有的方式工作,然后不知从何而来,它向您的访问者显示了一个非常不合时宜的白屏。
在大多数情况下,当 WSoD 发生时,您将无法访问管理面板。 在前端,您可能会或可能不会看到错误消息。 此外,某些浏览器(例如 Chrome)可能会给您一个 HTTP 错误 500 消息,但这仍然不能帮助您解决危机。 有时可能会有更常见的错误会为您显示错误消息。
随着 WordPress 5.2 的推出和内置的致命错误保护,WordPress 有时可以确定导致 WSoD 的问题。 在某些情况下,您会看到可怕且模糊的技术困难信息。
其他时候,您可能会看到显示的严重错误消息。
如果 WordPress确实发现了您网站的问题,您将收到一封电子邮件,其中包含一个可以识别问题的链接,让您可以轻松解决问题。 只需检查您的管理员电子邮件。 然而,对于白屏——你只会感到沮丧。 啊。 我们将尝试通过这篇文章尽可能多地缓解这种情况。
什么导致白屏死机?
幸运的是,您可能会看到 WordPress 白屏死机的一些常见原因:
- 您的网站没有足够的内存。 基本上,这意味着脚本已经用完了分配给您站点的内存。
- 插件不兼容。 例如,当您的核心 WordPress 文件更新时,可能不会更新插件以在最新版本的 WordPress 上运行,并且代码冲突可能导致白屏死机。
- 主题冲突类似于插件不兼容。
- 缓存问题可能会导致您的站点宕机,并且显示 WSoD 而不是显示站点的存储版本。
- 托管问题很常见,这意味着除了提供支持票外,您自己无能为力。
- 由于代码片段、损坏的图像、恶意软件或任何数量的其他一次性问题不会影响您的整个站点,单个页面或帖子可能会显示 WSoD。
不管是什么原因,有一些简单的解决方案可以帮助您解决问题并让您的网站立即恢复运行。 我们将引导您完成步骤,以解决您的网站可能遇到死机白屏的最常见原因——这会让您感觉自己是 WordPress 超级明星,并且在一天结束时更有知识。 让我们摇滚吧。
修复 WordPress 白屏死机的 6 种方法
在开始实施任何这些步骤之前,您需要确保您的站点的错误不是由托管问题引起的。 最简单的判断方法是您是否在同一个托管计划中拥有多个网站。 如果您的其他网站显示正确,则您的托管可能不会有问题。
此外,如果您只有一个站点,甚至站点的一部分显示正确,则您可能正在处理站点问题,而不是您的托管平台。 一旦确定您是否有托管问题或真正的站点问题,请开始浏览我们在下面列出的解决方案。 如果您确实有托管问题,最好的办法是立即提交支持票。
1. 增加站点的内存限制
如前所述,使用过多内存的脚本通常是 WordPress 白屏死机的罪魁祸首。 为了纠正这个问题,我们将使用 FTP 更改 wp-config.php 文件中的内存限制。 您可以添加一行代码来告诉 WordPress 增加您的内存限制。
define( 'WP_MEMORY_LIMIT', '256M' );
要执行此 FTP,请返回 FileZilla。 导航到/public-html/主目录并找到wp-config.php文件。 右键单击view/edit ,然后将代码添加到文件中。 接下来,单击保存。 正如我们之前建议的那样,在更改文件之前下载 wp-config.php 的副本,以便进行备份。
完成这些更改后,查看您的站点。 如果它已正确加载,请给自己高五,因为您是摇滚明星。 如果还没有,请深吸一口气,然后继续下一个可能的解决方案。
2. 检查插件问题
第一步是禁用所有插件,以确定其中一个插件是否已流氓。 如果您足够幸运仍然可以访问管理仪表板,您可以在那里禁用您的插件。
导航到您的 WordPress 管理仪表板。 在 P lugins下,从下拉菜单中选择Deactivate ,单击复选框以选择所有插件,然后单击Apply按钮。 接下来,在新标签或私人(Chrome 上的隐身)窗口中检查您网站的前端。 如果它在没有 WSoD 的情况下可见,则您已确定插件是导致您的麻烦的原因。
从那里,您需要单独重新激活每个插件并在新的私人窗口中重新加载,以确定哪个是罪魁祸首。 找到有问题的插件后,您需要将其禁用,以使您的网站正常运行。 通常,您可以等待更新并在之后重新激活它。
如果由于某种原因无法做到这一点,您可能需要选择一个不同的插件来替换不再工作的插件。 考虑到通常有几个插件用于相同的目的并解决相同的问题,这应该不是问题。
如果您无法访问 WordPress 仪表板怎么办?
在这种情况下,您将需要做与我们上面提到的相同的事情,但使用 FTP。 对于这个例子,我们将使用 FileZilla 手动重命名我们的插件文件夹以禁用它们。
打开 FileZilla 并使用您的凭据登录到您的站点。 为此,请单击文件,然后单击站点管理器。 使用您站点的 SFTP 凭据(由您的主机提供)登录。 如果您是第一次将站点添加到 FileZilla,您需要创建一个新连接。 为此,请给您的站点一个Name ,单击New Site ,然后输入主机地址和端口。 接下来,输入您的用户名和密码。 最后,单击连接按钮。
建立连接后,导航到 FileZilla 界面右栏中的/public-html//wp-content/plugins/文件夹。 我们强烈建议您在进行任何更改之前将您的插件下载到您的桌面或计算机上的其他文件夹。
对于本教程,我们将创建一个新文件夹并将其命名为site plugins 。 单击要保存文件的文件夹,然后右键单击插件文件夹,然后单击下载。
接下来,您将重命名插件文件夹。 这可以是您喜欢的任何内容,但对于此示例,我们将文件夹命名为badplugins 。 要重命名文件夹,请右键单击插件文件夹以调出菜单,然后单击重命名。 这会诱使 WordPress 相信您的网站上没有安装任何插件。 偷偷摸摸。
检查您的个人插件
要查看重命名您的插件文件夹是否解决了您的问题,请返回站点的前端以查看它是否正确显示。 如果是的话,那就好! 你已经解开了谜团。 是插件问题。 下一步是再次重命名您的插件文件夹。 这次回到它原来的名字: plugins 。
接下来,您将在插件文件夹中单击并重复上述步骤。 但是,这一次您将分别重命名每个插件文件夹。 从第一个开始,然后查看您网站的前端。 您将重复这些步骤,直到找到有问题的插件。
如果此步骤未能解决您的问题,您需要继续处理下一个可能的问题。 不用担心 - 我们会立即让您启动并运行。
3. 改变你的 WordPress 主题
如果增加内存和对插件进行故障排除并不能解决您的问题,那么接下来要看的是您的主题。 有时您的主题可能是问题的根源,尤其是在 WordPress 核心更新或主题更新之后。
为了以正确的方式执行此操作,您需要使用 FTP。 在通过 FTP 对主题文件夹进行任何更改之前,下载当前主题非常重要。 这样,如果您的问题不是您的主题,您可以在没有痛苦和痛苦的情况下恢复它。
返回 FileZilla 并导航到public-html/wp-content/themes 。 右键单击站点的活动主题文件夹,然后单击下载。 下载完成后,确认文件在本地计算机上,然后从目录中删除主题文件夹。 听起来很吓人,但完全没问题。 这就是我们下载它的原因。
请务必注意,确保您的站点安装了另一个主题,例如 TwentyTwenty。 当您删除活动主题时,WordPress 将在主题目录中搜索并激活默认主题。 如果您没有安装一个,您可以通过 FTP 手动安装一个。
看看你的functions.php文件
接下来,看看您网站的前端。 如果它已备份并使用默认主题运行,您将希望将您的 functions.php 文件视为潜在的罪魁祸首。 有时可能会有几行额外的代码,或者像缺少分号这样简单的东西,这会让 WordPress 生气。 根据经验,向 main functions.php 文件中添加任何内容并不是一个好主意。 如果您选择添加自定义代码,我们建议使用子主题。
如果更改主题没有解决您的问题,并且您的 functions.php 文件似乎正常,您需要将主题上传回wp-content/themes文件夹。 要通过 FileZilla 完成此操作,请单击主菜单中的文件。 接下来,单击导入。 当对话框出现时,导航到您保存活动主题的位置,然后单击打开。
4. 使用 WordPress 调试模式
如果前面的步骤没有隔离您的问题,下一步是启用调试模式。 打开此功能将允许您查看网站的错误日志。 使用 FileZilla,导航到您的根文件夹/public-html/并找到您的 wp-config.php 文件。 右键单击编辑它,然后查找以下代码行:
define( 'WP_DEBUG', false );
接下来,您要将 false 更改为true 。 此外,您将直接在其下方添加另一行代码。 添加此行将在您的 /public-html/ 文件夹中创建一个debug.log文件。 您的代码现在将如下所示:
define( 'WP_DEBUG', true); define( 'WP_DEBUG_LOG', true );
保存您的文件,然后刷新您的实时站点。 现在,您不会看到一直困扰您的白屏,而是页面上可能会出现可见的错误和警告。 即使您没有任何可见的错误,您也可能需要检查您的 debug.log 文件。 您会在那里发现需要您注意的潜在问题。
要访问您的调试日志,请转到 FileZilla 并导航到/wp-content/文件夹。 滚动直到找到debug.log文件。 右键单击它并单击查看/编辑。
5. 清除缓存
修复 WordPress 白屏死机的另一个解决方案是清除缓存。 您可以通过三种方式完成它。 通过在浏览器中使用缓存插件或清除服务器端缓存。 无论您选择哪种方式,都应在故障排除过程中考虑清除缓存。
什么是缓存?
缓存通过将文件副本存储在临时位置来工作,以便可以更快地访问它们,从而加快加载时间。 为了最好地解释什么是缓存,让我们用一个真实的例子来演示它是如何工作的。
假设你正在做饭。 你的炉子就在冰箱对面。 如果你每次需要一种食材时都必须跑到冰箱前,这会减慢这个过程,可能会激怒你为之做饭的人。 想象一下,您拥有在柜台上的炉子旁边做晚餐所需的所有食材。 通过让一切都离您最近,减少了在餐桌上用餐所需的时间,从而使您的员工更快乐。
这就是缓存的工作原理。 我们也有完整的流程细分,您也可以查看。
清除浏览器缓存
有时,您只需清除浏览器中的缓存即可修复 WSoD。 在解决您网站上可能遇到的任何问题时,这是一个简单但经常被忽视的解决方案。 对于此示例,我们将使用 Chrome。 在 Mac 上,从前端查看您的网站时,单击左上角的Chrome ,然后选择Clear Browsing Data 。 (对于 Windows 用户,您可以进入省略号菜单,选择Settings ,进入Privacy and Security ,然后Clear Browsing Data 。)
当弹出窗口出现时,从时间范围下拉菜单中选择所有时间,然后确保选择B行历史记录、 Cookies 和其他站点数据以及缓存的图像和文件。 最后,单击清除数据按钮。 这会清除您的所有浏览历史记录、cookie 以及存储的图像和文件,而无需重置您可能拥有的任何存储密码。
接下来,打开一个私人窗口并输入您网站的 URL。 如果您的网站可见,则说明您的问题已解决。 如果没有,请尝试使用缓存插件来清除 WordPress 网站的缓存。
使用缓存插件
如果您可以访问 wp-admin 面板并使用缓存插件(例如 WP Rocket、W3 Total Cache 或其他),则可以通过清除缓存来修复 WordPress 白屏死机。 对于此示例,我们将使用 W3 Total Cache。
在 wp-admin 仪表板中导航到性能。 接下来,单击常规设置。 在这里,您可以清除页面、JavaScript 和 CSS、数据库、对象、浏览器和 CDN 的缓存(如果已启用)。 当您准备好清除缓存时,单击您希望刷新的每个部分的保存设置和清除缓存按钮。
重复上述步骤以查看您的网站并检查您的问题是否已解决。
清除 WordPress 主机缓存
大多数 WordPress 托管服务提供商都具有清除服务器缓存的功能。 Flywheel、Cloudways、Pressable 和 SiteGround 等公司都提供这项服务。 只需单击几下,清除服务器的缓存即可为您解决问题。
例如,清除飞轮中的缓存是通过单击飞轮仪表板中的高级选项卡,然后单击刷新缓存按钮来完成的。
在 WP Engine 中,清除缓存同样简单。 从您的站点列表中,单击您需要清除缓存的站点。 接下来,单击缓存。 最后,单击清除所有缓存按钮。
无论您托管哪个提供商,清除 WordPress 缓存都是一项简单的任务,您只需几个步骤即可自行完成。
6. 修复一篇长博文
现在,在某些情况下,您的大部分网站都可以正确显示,除了这里和那里的帖子。 我们也有解决这个问题的办法。 要应用此修复程序,您需要返回到 FileZilla并编辑您的wp-config.php文件。 正如我们之前提到的,在对其进行任何编辑之前将文件下载到本地计算机是一种很好的做法。
我们将使用的代码将告诉 WordPress 增加您网站的 PHP 文本处理限制。 字符限制因主机服务器的配置方式而异,因此我们希望在此处放置大量字符以覆盖我们的基础。 话虽如此,我们不想过多地增加限制。
下面代码中的第一行增加了递归限制。 递归是 PHP 中调用自身的过程。 必须有一个结束函数,否则递归将永远继续调用自己,直到您的服务器内存不足。 如果您在较长的帖子或页面上看到死机白屏,则可能是您的递归限制设置得太低。
第二行允许提高PCRE 回溯限制。 回溯基本上是一种用于解决问题的 PHP 算法。 它将遍历可能的解决方案,直到找到正确的解决方案 - 基于编程的解决方案。将此数字设置得太低可能会导致未解决的问题,这可能会导致讨厌的白屏。 与递归限制类似,设置较高的回溯限制可能会耗尽系统的内存。
解决方案。
实施修复
将wp-config.php文件下载到计算机后,右键单击它并选择view/edit 。 下一步就是输入这两行代码。 我们建议对您的代码进行注释,以帮助区分文件中的标准代码和自定义代码。
//* Sorry, I'm long-winded *// ini_set('pcre.recursion_limit',20000000); ini_set('pcre.backtrack_limit',10000000);
最后,单击保存以完成更改。 刷新博客文章后,您有望发现自己的博客文章已准备好让全世界看到。
如果所有其他方法都失败了,请返回您的主机
如果您已按照我们文章中概述的步骤进行操作,您的 WordPress 白屏死机问题可能已经解决。 话虽如此,你们中的一些人可能仍然有同样的问题。 你现在应该怎么做?
在这种情况下,联系您的托管服务提供商将是一个好主意。 大多数可用的 WordPress 托管公司在他们的计划中提供一流的客户支持选项。 Cloudways 和 SiteGround 都以拥有出色的支持平台而著称,并且很乐意帮助您解决最常见的 WordPress 问题。
WordPress 死亡屏幕不必太吓人
我们知道 WSoD 错误可能令人恐惧和沮丧。 无论您的白屏死机的原因是插件、主题、内存限制还是缓存,我们都制定了一些可能的解决方案来修复它。 您可能已经通过功能齐全的网站到达本文的结尾。 通过使用 FTP、几行 PHP 和新发现的故障排除技巧,您拥有使您的网站正常运行、看起来不错、感觉良好的工具。
你有没有经历过 WordPress 白屏死机? 如果是这样,您采取了哪些措施来纠正它? 通过在下面发表评论让我们知道。