跳转到内容
无痕工具库 无痕工具库

Hostinger WordPress“网站发生致命错误”修复教程

遇到“There has been a critical error on your website”提示信息,WordPress 网站站长可能会感到担忧。该错误可能会限制用户访问,甚至导致无法进入管理面板。

幸运的是,解决这个问题通常比较快速。本文将解释该错误信息的含义,并介绍几种修复方法。

如果你不确定自己遇到的是否正是这个错误,请参阅如何在 Hostinger 上识别并修复网站错误。

“There Has Been a Critical Error on Your Website”是什么意思?

某些 WordPress 错误可能会阻止你访问控制面板,并显示消息:“There has been a critical error on this website. Please check your site admin email inbox for instructions.”

这条消息意味着网站上出现了致命的 PHP 错误。当 PHP 脚本停止运行、无法完成其处理过程时,就会发生这种错误。

为了帮助用户,WordPress 具有一项功能,可以检测到插件或主题何时引发致命错误,并向管理员邮箱发送通知。在这封邮件中,用户可以了解到导致问题的更多详细信息。


邮件中还包含一个 URL,可通过恢复模式访问网站。点击该链接即可安全登录 WordPress 控制面板并修复问题。

如果你遇到了这个 WordPress 错误,但收件箱中没有看到任何邮件通知,请检查垃圾邮件文件夹。不过,在某些情况下,站长可能没有收到邮件,需要自己排查问题。

修复 WordPress 严重错误的 7 种方法

要修复 WordPress 严重错误,首先需要找到问题的原因。WordPress 发送的通知邮件会提供更多细节,说明是哪个文件和哪一行代码引发了问题,但即使没有收到邮件也不必担心。

共有七种方法可以定位并解决 WordPress 网站中的严重错误,请逐一尝试:

1. 检查错误日志

第一种方法是检查 error_log 文件,该文件存储 PHP 错误信息。使用主机账户中的 文件传输协议 (FTP) 客户端或文件管理器,然后转到 home/[username]/.logs/error_log_[domain]。

该文件记录四种类型的 PHP 错误——warning(警告)、notice(通知)、parse(解析)和 fatal(致命)。在每条日志的开头,你会看到所发现错误的类型。如果发现解析错误或致命错误,就需要修复它,如下例所示:


如果找不到 error_log 文件,请向你的主机服务商寻求帮助。请注意,只有启用了 PHP 错误日志记录,error_log 文件才会存在。为此,请按照下面的说明,在 Hostinger 控制面板中配置 PHP 设置:

如果仍然无法查看错误日志文件,请尝试下一种方法——使用调试模式。

2. 调试 WordPress

WordPress 自带调试系统,可以识别核心软件、主题和插件中的代码错误。

要激活 WordPress 调试模式,请打开 public_html 目录中的 wp-config.php 文件,然后找到以下几行代码:

define( 'WP_DEBUG', false );
define( 'WP_DEBUG_DISPLAY', false );
define( 'WP_DEBUG_LOG', false );
define( 'SCRIPT_DEBUG', false );

“false”值表示 WordPress 调试模式处于停用状态。将所有行中的“false”替换为“true”即可激活。

这四行包含 PHP 常量。激活后,它们会执行以下任务:

  • WP_DEBUG——在 WordPress 中触发调试模式。
  • WP_DEBUG_DISPLAY——在页面的 HTML 中显示调试信息。
  • WP_DEBUG_LOG——将错误详情存储到日志文件中,以供日后查看。
  • SCRIPT_DEBUG——运行核心 CSS 和 JavaScript 文件的“开发(dev)”版本,而不是压缩版本。

如果在 wp-config.php 文件中找不到这些行,直接将它们添加到脚本中即可。将 WP_DEBUG、WP_DEBUG_DISPLAY 和 SCRIPT_DEBUG 设置为 true。

对于 WP_DEBUG_LOG,请使用自定义文件路径而不是 true,这样日志就可以通过文件管理器访问:

define( 'WP_DEBUG_LOG', __DIR__ . '/wp-content/debug.txt' );

启用调试模式后,刷新你的网站。你应该会在错误信息上方看到详细信息,如下例所示:

根据说明修复问题后,网站应能恢复正常。问题解决后,将值改回“false”即可停用调试模式。

3. 解决主题或插件冲突

下一种方法可以帮助你找出主题和插件中的冲突。

先从检查主题开始。如果你可以访问 WordPress 管理面板,只需将当前启用的主题切换为默认主题,例如 Twenty Twenty。

但是,如果无法访问管理面板,请使用文件管理器或 FileZilla 等 FTP 客户端,转到 public_html → wp-content → themes。找到当前启用主题的文件夹,并将其重命名为 youractivetheme-disabled。

完成之后,重新加载网站。如果网站正常加载,说明存在冲突的主题,你可能需要回退到主题的上一个版本,或者换一个全新的主题。

另一方面,如果错误仍然存在,则应检查插件是否存在问题。

检查插件的过程与检查主题类似。如果你可以访问 WordPress 管理面板,请禁用所有插件。

如果无法访问管理面板,请使用文件管理器或 FTP 客户端,转到 public_html → wp-content → plugins。将所有插件目录重命名为 yourplugin-disabled,但如果安装了 Elementor 插件,则保留其文件夹不变。

如果你使用的是 Hostinger 控制面板,有一种更简单的方法。转到 WordPress → Security(安全)部分,即可直接禁用所有插件。

刷新你的网站。如果网站正常加载,则说明存在冲突的插件。

要确切找出是哪个插件导致了错误,你需要逐一重新激活插件,并每次都重新加载网页。

如果你已重命名插件文件夹,请转到 public_html → wp-content → plugins,将所有插件文件夹逐一恢复为原始目录名。

主题和插件的冲突经常导致此类错误。请停用并删除不用的主题和插件,以提高网站的安全性、性能和可靠性。

4. 从备份还原网站

使用这种方法,你需要从备份还原网站文件。这类错误正是备份 WordPress 网站至关重要的原因之一。

使用 Hostinger 控制面板

要使用 Hostinger 控制面板还原备份文件,请转到 Files(文件)→ Backups(备份),然后选择 Files backups(文件备份)。选择你想要的备份版本,点击 Show Files(显示文件)。底部将出现一个新区域,显示备份文件的目录。如果要还原整个网站,请选择 public_html 文件夹并点击 Restore Files(还原文件),如下所示:


下一步是还原数据库。转到 Database backups(数据库备份)部分,选择要还原的备份数据。选择正确的备份数据后,点击 Restore(还原),如下所示:

使用 WordPress 插件

如果你安装了 UpdraftPlus 之类的备份插件并想使用它来还原,请使用错误邮件中收到的恢复模式 URL 登录 WordPress 管理面板。

进入备份插件的面板,找到还原功能。不同插件的界面布局可能不同,但一般来说,你只需选择一个备份文件并还原网站即可,如下所示:


另一种选择是使用 All-in-One WP Migration 等迁移插件。它可以轻松地从本地存储导入 .wpress 备份文件。转到 All-in-One WP Migration -> Import(导入),选择你要上传的 .wpress 文件,如下图所示:

5. 升级 PHP 版本

WordPress 需要 PHP 7.4 或更高版本。请检查主机上的 PHP 版本,如果发现使用的是较旧的 PHP 版本,将其升级到 7.4 或更高版本即可修复“There has been a critical error on your website”错误。

使用 Hostinger 控制面板时,转到 **Advanced(高级)→ PHP Configuration(PHP 配置)**部分。你应该会在 PHP Version(PHP 版本)选项卡中看到当前启用的 PHP 版本。如果运行的是 PHP 7.3 或更低版本,请选择 PHP 7.4 或 PHP 8.0,然后点击 Save(保存),如下图所示:

6. 重新上传 WordPress 核心文件

如果 WordPress 核心文件存在冲突,重新上传这些文件应该可以修复 WordPress 严重错误。最简单的方法是在管理控制面板的 Updates(更新)页面中点击 Re-install version x.x.x(重新安装 x.x.x 版本)按钮。

如果你已无法访问 WordPress 管理控制面板,可以使用 FTP 客户端重新上传核心文件。从 WordPress 官方网站下载核心文件并上传到你的网站,同时排除 wp-content 文件夹。

或者,也可以按照以下步骤使用 WP-CLI 下载核心文件:

  1. 使用主机账户的 SSH 访问登录你的网站。

  2. 运行以下命令进入你的网站目录。请将 domain.tld 替换为你的实际域名目录。

    cd domains/domain.tld/public_html/
  3. 使用以下命令下载 WordPress 核心文件。

    wp core download --skip-content --force

7. 增加 PHP 内存限制

默认情况下,WordPress 将 PHP 内存限制设置为 128 MB。如果严重错误是由内存不足引起的,增加 WordPress 内存限制值应该可以解决问题。

Hostinger 用户可以通过 Hostinger 控制面板设置新的内存限制。导航到 PHP Configuration(PHP 配置)→ PHP Options(PHP 选项),然后点击 memoryLimit 字段的下拉菜单。

另一种方法是使用 FTP 客户端或主机控制面板中的文件管理器修改 wp-config.php 文件。具体步骤如下:

  1. 在 public_html 目录中找到 wp-config.php 文件。

  2. 打开文件,在 /* That’s all, stop editing! Happy blogging. */ 这一行上方添加以下代码。

    define('WP_MEMORY_LIMIT','1536M');
  3. 保存更改并刷新你的网站。

如果已经达到最大限制,最后的解决办法就是升级你的主机方案。

总结

遇到“There has been a critical error on your website”提示信息时,无需惊慌。

只需检查你的电子邮箱,找到 WordPress 发送的邮件,即可定位问题并快速修复。

即使没有收到邮件,也有多种方法可以解决这个问题。

我们还建议定期创建备份。这样,即使遇到此类 WordPress 错误信息,你也能够快速还原网站。