HTTP 错误 500 – 如何修复 500 内部服务器错误

已发表: 2017-10-28

开发 Web 应用程序的人,网站经常会看到 HTTP 错误 500 或内部服务器错误。 问题是解决这个问题可能是一项非常艰巨的任务。 因为错误没有因为特定原因出现。

但是您收到内部服务器错误的原因可能有很多。 所以问题是如何修复 HTTP 错误 500? 好吧,在这篇文章中,我将只讨论这个。 因此,您可以轻松摆脱此内部服务器错误。

无论如何,让我们直接进入主题而不浪费太多时间:

目录

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

由于多种原因,可能会出现 HTTP 错误 500。 但是,所有这些都意味着同一件事。 在访问 Web 应用程序或网站时,您可能会看到诸如“500 内部服务器错误”、“500 错误”、“HTTP 错误 500”、“500”之类的错误。 这是一个错误”、“临时错误 (500)”,或者只是错误代码“500”。 所有这些错误都是相同的。

但是,每当您在计算机上看到这样的消息时,这仅仅意味着网络服务器上发生了意外情况,服务器无法为您提供任何具体信息。 结果,它没有给你一个正常的网页,而是返回一个错误。

除此之外,您还应该知道应用程序的服务器端会生成此错误的事实。 这意味着您的 HTML、客户端 javascript 或在浏览器中运行的任何其他内容都不是 500 内部服务器错误的来源。

500 Internal Server 错误是如何出现的?

现在的问题是 500 Internal Server 错误是如何出现的? 好吧,您访问的每个网站都可以自定义内部服务器错误消息。

这意味着当您遇到错误时,错误可能会以不同的形式出现。 但是,为了让您更好地理解,以下是您可以看到的常见消息:

  • 内部服务器错误
  • HTTP 500 内部错误
  • 500内部服务器错误
  • HTTP 错误 500
  • HTTP 500 – 内部服务器错误
  • 500 错误

此外,如果您使用 Internet Explorer 并收到“网站无法显示页面”消息。 这也意味着您收到 HTTP 错误 500 错误。 发现错误的最佳方法是查看 IE 工具栏中的 500。

什么导致 500 内部服务器错误?

现在的问题是,是什么导致了 500 Internal Server 错误? 好吧,错误只是表明服务器端存在问题。

服务器错误可能是由多种原因引起的。 可能是服务器上传不正确。 或者代码结构中存在错误。

由于网络浏览器无法解决或消除错误,因此它只是告诉您有问题。 但是您的网站不确定到底出了什么问题。

如果您具有 root 访问权限,那么您可以继续查看您的 Web 服务器的错误日志以获取有关此的更多信息。

如果您使用的是共享托管计划,那么您还可以联系您的托管服务提供商以获取更多信息。 此外,由于它是服务器端错误,这意味着它必须与网站编程或配置设置有关。

如果服务器使用的是 Microsoft IIS 软件而不是 Apache。 然后很有可能您会找到一些线索来找出导致内部服务器错误的原因。

除此之外,您还应该关注多个调试选项并尝试解决问题。 但是,如果您不确定如何修复内部服务器错误,那么让我继续讨论您可以尝试的修复。

所以我们开始:

HTTP 错误 500 – 内部服务器错误以及如何解决此问题

好吧,在您继续使用任何方法来修复 HTTP 错误 500 之前,我建议您备份您的网站。

因此,如果您的网站出现问题,情况会变得更糟。 您将能够使用备份来制作现在的东西。

根据您使用的网络托管类型,有很多方法可以备份您的网站。 但是,为了帮助您,让我继续分享有关如何在共享主机上备份您的网站的快速指南。

如何在共享主机上进行站点备份?

  1. 首先,您必须登录主机的 Cpanel。
  2. 之后,您将需要查找“备份”选项并单击它。
  3. 接下来,您需要单击“下载完整网站备份”选项。
  4. 在下一个屏幕中,您需要从备份目标的下拉菜单中选择主目录选项。
  5. 此外,如果您想在备份完成时收到电子邮件通知。 只需输入您的电子邮件地址。 如果您不想收到电子邮件通知,请勾选“不发送备份完成的电子邮件通知”选项。
  6. 之后,单击“生成备份”按钮,它将开始创建完整备份。
  7. 文件生成过程完成后,如果您已启用它,您将收到一封电子邮件通知。
  8. 然后只需转到您的 Cpanel 的 /home 目录,在这里,您将找到您的备份。 只需将其下载到您的计算机上以供将来使用。
  9. 此外,要恢复备份,请转到 Cpanel,然后转到备份向导。 之后,选择恢复并上传您的文件,就大功告成了。

既然您已完成网站备份的下载,那么让我们继续讨论修复内部服务器错误所必须遵循的步骤。

调试问题

您可以开始的第一步是调试问题。 通过这样做,您将能够了解错误。

为此,您需要检查 PHP 日志或部分 apache 错误日志。 因此,您可以获得有关错误的更多信息。

如果您无法在那里找到错误日志,那么您应该尝试通过对 index.php 文件进行一些更改来启用 PHP 错误报告。

所以继续打开 index.php 文件,然后你需要将这些代码行粘贴到那里:

ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
错误报告(E_ALL);

此外,如果您有 WordPress 网站,则需要下载位于网站根目录中的 wp-config.php 文件。 您可以从 Cpanel 或使用 FTP 客户端下载文件。

下载完文件后,只需使用您喜欢的文本编辑器将其打开即可。 如果您的计算机上没有安装文本编辑器。 然后,您可以试用 Windows 版 Notepad++ 和 macOS 版 TextMate。

接下来,打开文件后,您需要搜索“ WP_DEBUG ”字符串。 找到该行后,您需要将其从False更改为True并将文件上传回服务器。

如果您在配置文件中找不到该行,则需要将以下行添加到wp-config.php文件中:

定义(“WP_DEBUG”,真);

之后,重新加载网站,看看错误是否改变。 如果确实如此,您可能会看到“致命错误”消息,该消息指向特定文件中的特定代码行。 这是一个简单的代码错误。

在这里,我将假设错误来自插件或主题。 然后您将需要禁用插件或主题,然后检查它是否为您解决了问题。 如果您不确定如何从 Cpanel 禁用插件和主题,则需要按照这些步骤操作。

如何从 Cpanel 禁用插件和主题?

第 1 步:首先,登录到您的 Cpanel。

第 2 步:然后单击文件管理器以访问您的网站文件。

第 3 步:接下来,您将导航到 WordPress 安装文件夹并打开 wp-content 文件夹。

第5步:然后转到插件文件夹。

第 6 步:在这里,查找您要禁用的插件。 然后只需右键单击它并重命名文件。

此外,如果您网站上的主题存在问题,您将需要按照以下步骤禁用主题。

另外,请记住一个事实,一旦你找到了问题。 确保将 WP_DEBUG 值从 True 更改为 False 并再次将文件上传到服务器。

解决常见软件问题

我们可以尝试的下一件事是解决流行的软件问题。 如果您的服务器正在运行一些流行的应用程序,例如 WordPress,那么错误的安装、不兼容的版本和不正确的服务器权限可能会导致 HTTP 500 内部服务器错误。

然而,好的部分是解决问题并不像看起来那么难。 您可以尝试以下几件事来解决此问题:

  1. 首先,您应该首先检查您最近是否安装或升级了任何软件,它实际上未能正确安装或升级。 在这种情况下,您应该禁用该软件并检查一切是否正常。 如果没有,您应该联系软件供应商以获得进一步的帮助。
  2. 任何新激活的插件或主题也很有可能与您的网站发生冲突,因此,您会收到内部服务器错误。 现在您将不得不一一停用主题和插件,看看它是否适合您。 (要禁用它们,您可以查看上面的如何从 Cpanel 指南中禁用插件和主题)。
  3. 如果您刚刚升级了您的软件、当前插件或主题,那么它可能与新升级不兼容。 在这种情况下,您需要一次停用一个插件或主题。 并检查它是否可以帮助您解决问题。

调试服务器端脚本

您还可以尝试调试服务器端脚本。 当前正在开发和测试的自定义脚本也可能导致 HTTP 500 内部服务器错误。

但是,要解决此问题,您可以继续执行以下步骤:

  1. 对包含 PHP 或 GGI 脚本等脚本的文件或文件夹的权限错误。 然后它不会因为权限而允许脚本运行。 因此,首先,您应该继续检查您的权限,并确保您在服务器上正确设置它们。
  2. 编程错误或不可用的资源也很有可能导致问题。 因为它不允许脚本运行并创建无限循环,您将收到超时错误。
  3. 即使 .htaccess 文件和自定义脚本的编码错误也可能导致 HTTP 500 内部服务器错误。

.Htaccess 文件的错误

如上所述,.htaccess 文件可能存在错误。 如果您在网站上使用 .htaccess 文件,那么它很可能会干扰您尝试在浏览器中访问的网页。

500-Internal-Server-Error

因此,在这种情况下,我建议您继续检查 .htaccess 配置。 任何语法错误都会导致 500 内部服务器错误。

另外,为了确认 .htaccess 的错误配置是否是 HTTP 错误 500 背后的主要问题,我建议您删除 .htaccess 文件(当然,首先要确保有备份)。 或者您可以暂时重命名它,看看它是否有助于您解决问题。

PHP 编码超时

如果您的 PHP 脚本旨在建立外部网络连接,那么连接可能会超时。

如果尝试的连接太多并且所有连接都在超时后返回,那么它将导致您出现内部服务器错误。

现在为了防止这种情况,您可以简单地做的是确保 PHP 脚本使用一些超时规则进行编码。

然而,问题是在连接到数据库或外部远程资源(例如:RSS 提要)时捕获超时错误是很困难的。 在服务器中究竟发生了什么,脚本被冻结无法继续运行。

因此,通过删除任何外部连接可以帮助您提高网站的性能。 它还将帮助您减少 HTTP 错误 500。

创建一个新的 .htaccess 文件

我们也可以尝试创建一个新的 .htaccess 文件。 因为您网站上当前的 .htaccess 文件很可能已损坏。

因此在这种情况下,您需要通过 Cpanel 登录 WordPress 根目录,或者您可以使用 FileZilla 等 FTP 客户端。

之后,您需要进入 public_html 文件夹。 在这里,你会找到像 wp-admin 和 wp-content 这样的文件夹,如果你找到了,那就意味着你来对了地方。

现在在这里,您将不得不寻找 .htaccess 文件。 如果您看不到此类文件,请确保通过单击服务器并选择强制显示隐藏文件来查看隐藏文件。

找到 .htaccess 文件后,只需右键单击它并将文件重命名为“.htaccess.bak ”。 通过这样做,当前的 .htaccess 文件将不再被使用。

现在我们需要创建一个新的 .htaccess 文件。 因此,为此,只需转到您的 WordPress 管理区域。 将鼠标悬停在“设置”上,然后选择“永久链接”。 向下滚动到页面底部,然后单击保存更改。

接下来,在浏览器中打开您的网站,您应该会看到一切是否正常。 如果发生这种情况,它仅仅意味着错误是由于损坏的 .htaccess 文件引起的,您的问题现在已得到解决。

增加 WordPress 中的 PHP 内存限制

PHP 内存限制由您的主机和 WordPress 设置。 如果您开始超出限制,WordPress 将尝试增加您的限制。 但是,它只能达到主机在服务器上设置的限制。

在许多共享托管计划中,此限制通常较低。 因此,您需要增加 WordPress 中的 PHP 内存限制,然后检查您的网站是否仍然出现相同的 500 内部服务器错误。

因此,要增加 WordPress 中的 PHP 内存限制,您需要执行以下步骤:

  • 首先,打开你的根目录。
  • 然后你必须找到你的 WP-Config.php 文件。
  • 现在右键单击文件并选择下载。 这会将文件下载到您的计算机上。
  • 现在使用您喜欢的文本编辑器并打开 WP-Config.php 文件。 完成后,只需将这行代码粘贴到文件中:

定义('WP_MEMORY_LIMIT','64M');

  • 之后,您需要保存文件并将其上传回根目录。 这将覆盖原始文件。

完成后,继续刷新您的网站并检查您是否仍然遇到相同的错误。 如果您仍然看到相同的错误,这意味着您没有任何 PHP 内存限制问题。

因此,您最好继续从计算机上的 wp-config.php 文件中删除代码。 并将其上传回服务器。

#Method 3:停用所有插件:

如果以上方法都不适合你,那么这个问题可能是由编码不佳的插件和其他一些插件引起的。 停用“public_html>wp-content>plugins”文件夹中的所有插件可能是一个不错的选择。

如果您的一两个插件不能正常工作,那么它也会导致 500 内部服务器错误。 从“public_html>wp-content>plugins”文件夹中停用插件并尝试重新加载您的网站。

如果停用插件解决了问题,那么您就会知道您的一个插件会导致此错误。 只需逐个激活插件即可知道是哪个插件导致此错误并删除受感染的插件并向其作者报告。

更新核心文件:

如果上述方法均无效,则尝试覆盖 WordPress 核心文件,即; “wp-admin”和“wp-includes”文件夹。 您可以简单地在任何子域或其他域上安装新的 WordPress,然后将新安装的“wp-admin”文件夹和“wp-includes”文件夹移动到主站点文件夹。

替换“wp-admin”和“wp-includes”文件夹不会影响网站和数据库。 它将帮助您解决损坏的文件并修复导致 HTTP 错误 500 的问题。

清除浏览器缓存

该问题也有可能在您的网站上得到解决。 但是由于缓存,您会一次又一次地看到相同的错误。 在这种情况下,您可以简单地清除浏览器缓存。

如果您使用的是谷歌浏览器,那么您可以简单地将这个 URL 复制并粘贴到您的 chrome 浏览器中:

chrome://settings/clearBrowserData

之后,单击清除数据按钮,它将清除您网站上的所有缓存。 最后,尝试加载您的网站,看看它是否解决了问题。

联系 ISP 或托管服务提供商

如果您是网站的所有者,但您无权访问 Web 服务器的日志和文件系统。 然后,您应该继续联系您的 ISP/托管服务提供商,以获取您可以调查的日志的更多详细信息。

某些 ISP/托管服务提供商仅通过控制面板为您提供对不同工具的访问权限。 因此,您可以轻松获得所需的所有详细信息。 此外,出于安全原因,有些托管服务提供商根本不为您提供访问权限。

甚至,问题很可能出在托管服务提供商的一端。 也许他们正在升级服务器或任何软件。 因此,您最终会收到 HTTP 错误 500。

因此,最好联系您的托管服务提供商并检查他们是否可以帮助您解决问题。 甚至,有相当多的托管服务提供商会提供同样的帮助文章。

所以你最好联系他们,看看他们对这个问题有什么看法。

联系 CMS 提供商

除了托管服务提供商,您还可以尝试联系您的 CMS 提供商。 如果您使用的是 WordPress、Joomla 或其他内容管理系统等内容管理系统。 然后,您可以向他们寻求进一步的帮助。

大多数 CMS 提供商都会在网站上提供帮助页面,您可以查看这些页面以了解详细信息。 甚至,您也可以尝试在官方论坛中询问您的问题,看看您是否从那里得到任何帮助。

如何修复 HTTP 错误 500 或 500 内部服务器错误 | 短视频指南

结论:

这就是您的 HTTP 错误 500 – 内部服务器错误以及如何解决这个问题的答案。 如前所述,错误可能由于多种原因而出现。

因此,您必须尝试不同的方法来解决问题。 无论如何,现在继续检查这些方法,看看它是如何为你工作的。

另外,如果您有什么想问的,请随时在下面发表评论。 我一定会帮助你解决你的问题。