如何修复 WordPress 中的 500 内部服务器错误

已发表: 2023-03-18

您是否在 WordPress 中看到 500 内部服务器错误?

内部服务器错误是最常见的 WordPress 错误之一。 由于该错误没有提供任何其他信息,因此许多初学者感到非常沮丧。

在本文中,我们将向您展示如何轻松修复 WordPress 中的 500 内部服务器错误。

Fixing the internal server error in WordPress

以下是我们将在本文中涵盖的主题的快速概述。

  • 500 内部服务器错误是什么?
  • 是什么导致 WordPress 中的内部服务器错误?
  • 视频教程
  • 修复 WordPress 中的 500 内部服务器错误
  • 清除 WordPress 和浏览器缓存
  • 检查损坏的 .htaccess 文件
  • 增加 PHP 内存限制
  • 停用所有 WordPress 插件
  • 切换到默认的 WordPress 主题
  • 重新上传核心文件
  • 在 WordPress 中启用调试日志
  • 询问您的托管服务提供商

500 内部服务器错误是什么?

500 内部服务器错误是一种常见的 Web 服务器错误。 它并不特定于 WordPress 网站,任何网站都可能发生。

错误消息中的 500 在技术上是一个 HTTP 错误代码。 查找此代码只会显示其标准描述。

500 Internal Server Error 响应代码表示服务器遇到了阻止它完成请求的意外情况。

这是一个通用的包罗万象的错误消息,这意味着服务器在遇到问题时无法分配更好更有用的错误消息。

根据您的网站使用的网络服务器软件(Nginx 或 Apache)以及您使用的浏览器,错误页面看起来会有所不同。

以下是 Apache 错误页面的外观。

Internal server error page on Apache

如果您使用的是 Nginx 和 Google Chrome,它可能看起来会有所不同。

如果谷歌浏览器无法找到要显示的错误页面,它看起来也会有所不同:

Google Chrome http 500 error

对于初学者来说,这可能非常令人沮丧。 没有线索或消息可以将他们指向正确的方向以快速修复它。

询问如何解决内部服务器错误就像询问您的医生如何解决您正在经历的疼痛而不告诉他们疼痛在哪里。

但是,如果我们知道触发此错误的常见原因,那么我们可以尝试将它们一一修复以在不破坏任何内容的情况下解决错误。

是什么导致 WordPress 中的内部服务器错误?

WordPress 中的内部服务器错误通常是由损坏的 .htaccess 文件、编码不当的插件或您的活动 WordPress 主题引起的。

我们知道的 WordPress 内部服务器错误的其他可能原因是:PHP 内存限制或损坏的核心 WordPress 文件。

在某些情况下,内部服务器错误可能仅在您尝试访问 WordPress 管理区域时出现,而网站的其余部分工作正常。

话虽这么说,现在让我们来看看如何解决 WordPress 中的内部服务器错误。

视频教程

订阅 WPBeginner

如果您更喜欢书面说明,请继续阅读。

修复 WordPress 中的 500 内部服务器错误

在开始故障排除之前,请确保您手头有网站的完整 WordPress 备份。

如果您有权访问 WordPress 管理区域,那么您可以使用 WordPress 备份插件来创建您网站的完整备份。 我们建议使用 Duplicator 来处理这个问题。

另一方面,如果您无权访问 WordPress 管理区域,则可以使用 phpMyAdmin 和 FTP 客户端手动创建 WordPress 备份。

之后,您可以按照以下步骤对您网站上的内部服务器错误进行故障排除和修复。

清除 WordPress 和浏览器缓存

浏览器和您的 WordPress 缓存插件有时会错误地存储错误页面的缓存副本。

解决此问题的最简单方法是首先清除浏览器缓存。

Clear cache

之后,如果您有权访问网站的 WordPress 管理区域,则可以通过访问缓存插件的设置页面来清空 WordPress 缓存。

有关详细信息,请参阅我们关于如何清除 WordPress 缓存的教程。

检查损坏的 .htaccess 文件

.htaccess 文件是一个服务器配置文件,WordPress 也使用它来设置重定向。

内部服务器错误的最常见原因之一是损坏的 .htaccess 文件。

解决此问题的最简单方法是访问 WordPress 管理区域中的设置 » 永久链接页面,然后单击“保存更改”按钮而不进行任何更改。

Update permalinks to regenerate .htaccess file

WordPress 现在将尝试更新您的 .htaccess 文件或为您生成一个新文件。 您现在可以访问您的网站,看看是否已解决内部服务器错误。

如果您仍然可以看到错误,那么您需要确保 WordPress 能够生成或写入 .htaccess 文件。

有时,由于文件和目录权限,WordPress 可能无法创建或写入您的 .htaccess 文件。

您现在可以尝试手动替换 .htaccess 文件。 首先,您需要使用 FTP 或主机帐户控制面板下的文件管理器应用程序登录您的网站。

接下来,您需要将主 .htaccess 文件重命名为类似 .htaccess_old 的名称。 这使您可以将文件保留为备份,但 WordPress 不会识别它。

要重命名 .htaccess 文件,您需要使用 FTP 或托管帐户的 cPanel 仪表板中的文件管理器应用程序登录您的站点。

连接后,.htaccess 文件将位于同一目录中,您将在该目录中看到 wp-content、wp-admin 和 wp-includes 等文件夹。

只需右键单击 .htaccess 文件并将其重命名为 .htaccess_old。

Rename .htaccess file

接下来,您需要创建一个新的 .htaccess 文件。

在您网站的根文件夹中,右键单击,然后在您的 FTP 客户端或文件管理器应用程序中选择“创建新文件”选项。

Create new htaccess file

将这个新文件命名为 .htaccess 并单击确定以保存它。

现在,这个 .htaccess 文件当前是空的,您需要向其中添加默认的 WordPress 重写规则。

只需右键单击该文件,然后在您的 FTP 客户端或文件管理器应用程序中选择查看/编辑。

Editing .htaccess file in WordPress

空文件将在记事本或 TextEdit 等纯文本编辑器中打开。 现在,您需要将以下代码复制并粘贴到其中。

# BEGIN WordPress
<IfModule mod_rewrite.c>
RewriteEngine On
RewriteBase /
RewriteRule ^index.php$ - [L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . /index.php [L]
</IfModule>
# END WordPress

此代码是 WordPress 使用的默认规则集。 不要忘记保存更改并将文件上传回服务器。

您现在可以访问您的网站,看看是否已解决内部服务器错误。

如果是这样,请表扬一下自己,因为您修复了内部服务器错误。

重要提示:在继续其他操作之前,请确保您转到 WordPress 管理区域中的设置 » 永久链接页面,然后单击保存按钮而不进行任何更改。 这将使用适当的重写规则为您重新生成 .htaccess 文件,以确保您的帖子页面不会返回 404 错误。

如果检查损坏的 .htaccess 文件解决方案对您不起作用,那么您需要继续阅读本文。

增加 PHP 内存限制

如果脚本消耗了所有 PHP 内存限制,有时会发生内部服务器错误。

增加 PHP 内存限制的最简单方法是编辑 wp-config.php 文件。 如果您是初学者,执行此操作时要小心。 您需要仔细遵循这些说明,因为即使是 WordPress 核心文件中的小错误也会破坏您的网站。

首先,只需使用 FTP 客户端或托管帐户控制面板下的文件管理器应用程序连接到您的 WordPress 网站。

您会在网站的主文件夹中找到 wp-config.php 文件。 右键单击它并选择“下载”。 这将确保您有文件的备份,以防出现问题。

保存后,您可以右键单击它并选择“查看/编辑”。

Edit wp-config file

在 wp-config.php 文件中,您需要在“That's all, stop editing!”行上方添加以下代码。 快乐出版'。

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

有关更多详细信息,请参阅我们关于如何增加 WordPress 中的 PHP 内存限制的教程。

如果您仅在尝试登录到您的 WordPress 管理员或在您的 wp-admin 中上传图像时看到内部服务器错误,那么您应该按照以下步骤增加内存限制:

  1. 在您的计算机上创建一个空白文本文件并将其命名为 php.ini
  2. 将这段代码粘贴到那里:memory=256MB
  3. 保存文件
  4. 使用 FTP 将其上传到您的 /wp-admin/ 文件夹

如果增加内存限制为您解决了问题,那么您只是暂时解决了问题。 您仍然需要找到耗尽内存限制的原因。

这可能是一个编码不当的插件,甚至是一个主题功能。 我们强烈建议您让您的 WordPress 网络托管公司查看服务器日志,以帮助您找到准确的诊断信息。

如果增加 PHP 内存限制不能为您解决问题,那么您需要进行更多故障排除。

停用所有 WordPress 插件

如果上述解决方案都不适合您,那么此错误很可能是由您网站上安装的特定插件引起的。

也有可能是插件的组合不能很好地相互配合。

如果您可以访问您网站的 WordPress 管理区域,那么您只需转到插件页面并停用所有 WordPress 插件即可。

Deactivate all plugins

但是,如果您无法访问 WordPress 管理区域,则可以使用 FTP 停用所有 WordPress 插件。

只需使用 FTP 客户端或托管帐户控制面板下的文件管理器应用程序连接到您的 WordPress 网站。

连接后,导航到 /wp-content/ 文件夹并将插件文件夹重命名为 plugins.deactivated。

Plugins deactivated via FTP

WordPress 在插件文件夹中查找插件。 如果找不到插件文件夹,那么它会自动停用所有插件。

您现在可以尝试访问您的网站,看看这是否解决了您网站上的内部服务器错误。

要恢复所有插件,您只需将 plugins.deactivated 文件夹重命名为 plugins。

您的插件现在将被恢复,但它们仍将被停用。

您现在可以一个一个地激活插件并访问您的网站以找出导致内部服务器错误的插件。

有关更多详细信息,请参阅我们的指南,了解如何在没有 WP-Admin 的情况下停用所有 WordPress 插件。

如果停用所有插件无法修复您网站上的内部服务器错误,请继续阅读。

切换到默认的 WordPress 主题

内部服务器错误的一个可能原因可能是您的 WordPress 主题中的一些代码。

要查明是否属于这种情况,您需要将主题切换为默认的 WordPress 主题。

如果您有权访问 WordPress 管理区域,则只需转到外观 » 主题页面。 如果您已经安装了默认主题,则只需单击“激活”按钮即可切换主题。

Activate a default theme

如果您没有安装默认主题,则可以单击顶部的添加新按钮并安装默认主题(20-23、20-22 等)。

现在,如果您无权访问 WordPress 管理区域,您仍然可以切换到默认主题。

简单地说,使用 FTP 客户端连接到您的 WordPress 网站并导航到 /wp-content/ 文件夹。

右键单击选择主题文件夹并将其下载到您的计算机作为备份。

Download theme folder

接下来,您需要从您的网站中删除主题文件夹。 删除后,继续创建一个新的主题文件夹。

您的新主题文件夹将完全为空,这意味着您目前没有安装任何 WordPress 主题。

接下来,您需要访问 WordPress 主题目录并将默认的 WordPress 主题下载到您的计算机。

Download a default theme

然后,您的浏览器会将主题作为 zip 文件下载到您的计算机。

在您的计算机上找到该文件,然后将其解压缩。 Windows 用户可以通过右键单击文件然后选择全部解压缩来解压缩文件。 Mac 用户可以双击 zip 文件进行解压。

Extract theme files

您现在会看到一个包含您的 WordPress 主题的文件夹。

切换回您的 FTP 客户端或文件管理器并将此文件夹上传到空的主题文件夹。

Upload theme files

上传后,WordPress 将自动开始使用默认主题。

您现在可以访问您的网站,看看这是否解决了内部服务器错误。

如果这不起作用,那么您可以从备份中重新上传您的 WordPress 主题或切换回您正在使用的主题。

别担心,您还可以做一些其他的事情来修复错误。

重新上传核心文件

如果插件和主题选项没有修复内部服务器错误,那么值得从全新的 WordPress 安装中重新上传 /wp-admin/ 和 /wp-includes/ 文件夹。

这不会删除您的任何信息,但它可能会在任何文件损坏的情况下解决问题。

首先,您需要访问 WordPress.org 网站并单击“下载”按钮。

Download WordPress

这会将 WordPress zip 文件下载到您的计算机。

继续并提取 zip 文件。 在其中,您会找到一个 wordpress 文件夹。

WordPress folder extracted

接下来,您需要使用 FTP 客户端连接到您的 WordPress 网站。

连接后转到您网站的根文件夹。 它是其中包含 wp-admin、wp-includes、wp-content 文件夹的文件夹。

在左栏中打开计算机上的 WordPress 文件夹。

现在您需要选择 wordpresss 文件夹中的所有文件并将它们上传到您的网站。

Upload core WordPress files

您的 FTP 客户端现在会将这些文件夹传输到您的服务器。

它会询问您是否要覆盖文件。 选择“覆盖”,然后选择“始终使用此操作”。

Overwrite WordPress core files

您的 FTP 客户端现在将用新的副本替换旧的 WordPress 文件。

如果您的 WordPress 文件已损坏,则此步骤将为您修复内部服务器错误。

在 WordPress 中启用调试日志

WordPress 带有一个内置系统来保存日志以进行调试。

您可以使用 WP Debugging 插件打开它。 有关更多详细信息,请参阅我们关于如何安装 WordPress 插件的指南。

激活后,该插件将在您的 WordPress 网站上打开调试日志。

如果您无权访问 WordPress 网站的管理区域,则可以通过将以下代码添加到 wp-config.php 文件来打开调试。

define( 'WP_DEBUG', true);
define( 'WP_DEBUG_LOG', true); 

打开调试日志后,您可以使用 FTP 客户端并导航到 /wp-content/ 文件夹来查看这些日志。

Debug log

您可以在文本编辑器中打开调试日志文件,它会显示您网站上出现的错误和警告列表。

其中一些错误和警告可能是无害的事件,可能不需要修复。 但是,如果您在网站上看到内部服务器错误,那么这些错误可能会为您指明正确的方向。

询问您的托管服务提供商

如果所有方法都无法修复您网站上的内部服务器错误,那么是时候寻求更多帮助了。 联系您的虚拟主机支持团队,他们将能够检查服务器日志并找到错误的根本原因。

如果您想继续自己进行故障排除,请参阅我们面向初学者的终极 WordPress 故障排除指南。

我们希望本文能帮助您修复 WordPress 中的内部服务器错误。 您可能还想查看我们最常见的 WordPress 错误的完整列表,以及我们关于如何选择最佳网络托管服务提供商的指南。

如果您喜欢这篇文章,请订阅我们的 YouTube 频道以获取 WordPress 视频教程。 您还可以在 Twitter 和 Facebook 上找到我们。