首页 » Wordpress教程 » 如何修复WordPress 500内部服务器错误

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

WPJAM TOC

500内部服务器错误非常重要,因为它会完全停止所有进程并可能导致整个站点瘫痪。因此,如果我们想摆脱它,我们首先需要更好地了解它的含义。在本文中,我将介绍此错误的含义,如何识别问题以及如何解决该问题的基础知识。但是,在开始之前,我想向你介绍存在的各种http(站点)错误以及它们潜在的含义。

常见的HTTP状态和错误代码

首先,我将解释这些错误的真正含义。当前,存在HTTP状态和错误列表,可以访问它们以更好地排除故障。这些错误通常分为几种类型。因此,为简化起见,我们将介绍你在使用WordPress网站时会发现的最重要的错误和信息状态代码。

100x响应(状态)

网络服务器直接给出这种类型的响应。根据你的托管公司,响应可以由Apache,nginx或公司使用的任何其他Web服务器给出。这种类型的响应与错误无关。它们通常用于指示已建立连接。它们是连接的状态响应代码。

200x响应(成功)

此类响应始终表示成功。这意味着服务器已成功与你建立连接,已正确提供了所要求的资源或已建立代理连接。最常见的成功代码称为200 OK。

300x响应(重定向)

重定向的响应代码。如果给定的链接正在重定向,则始终引用这些代码。300个状态码表示重定向成功,并且不视为错误。假设你有一个SSL(HTTPS)站点,并且还可以直接访问HTTP(非安全),并且想将所有人重定向到站点的HTTPS版本。你可以为来自HTTP的所有请求创建重定向到HTTPS。如果你不小心尝试通过HTTP进入站点,则浏览器将收到300响应,指示已重定向到HTTPS版本。

你可能熟悉的另一个常见示例是SEO的现场重定向。也许你已经删除了旧帖子或页面。借助Yoast SEO之类的插件,你可以301将其重定向到更新的,更相关的页面。或使用307临时重定向(如果你正在进行更新)并希望将用户引导至其他页面。

400x响应(客户端错误)

著名的客户端错误。这些类型的错误会导致你的浏览器出现问题。通常,它无法加载特定资产(最常见的是404错误)。这些是不严重的错误代码。如果你尝试访问站点上不存在的图像,可能会显示相同的错误。例如,你可能想使用410重定向来告诉搜索引擎该内容已被永久删除,如果你出于法律原因(例如DMCA请求)使某个页面不可用,则可以使用451重定向。

500x响应(服务器错误)

现在我们已经达到我们的主要问题。500个错误。如你所见,这些是重要的错误,并且始终与服务器本身有关。服务器错误很重要,因为它们可以有效地使你的网站崩溃。在这些错误中,最重要的是:

  • 503服务不可用
  • 502错误的网关错误
  • 500内部服务器错误

503服务不可用

最不严重的是503服务不可用。如果出现此错误,则说明你在Web服务器上存在资源问题。服务器过载时,几乎所有时间都会显示出来。简而言之,如果你看到此错误,请知道该错误是暂时的,并且与流量过多直接相关,这使CPU过载。每当CPU和Web服务器本身已达到100%CPU使用率而无法处理更多的传入连接时,就会看到此错误弹出窗口。你可以通过更换到更好的Web服务器(例如从Apache到Nginx)或在你的站点上实现WordPress缓存插件来解决此问题。

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

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

502错误的网关

这就是我所说的配置错误。没有任何原因不会出现此错误。如果你遇到此错误,则最有可能的原因是你做了某件事而做错了。 通常在人们尝试调整Apache和PHP配置或尝试优化nginx时会发生这种情况。错误的网关是一个错误,几乎总是在PHP FPM(快速过程管理器)失去连接时发生。调整错误的设置,或者由于进程崩溃。这导致Web服务器以错误的网关进行响应。

解决此错误的最简单方法是仔细检查你的PHP-FPM配置,因为这是导致此错误的最可能原因。在Nginx方面,这种情况比在Apache上发生的更多,并且在cPanel或Plesk提供的托管服务上几乎从未发生过。后两个面板均具有适当的防护措施,以防止配置错误。但是,在管理自己的VPS时确实经常发生这种情况。

500内部服务器错误

最常见的错误。500个内部服务器错误在所有这些错误中更为严重,主要是因为这样的一般错误。如果你没有足够的知识来处理它,那将是一个极大的痛苦,因为它会使你的整个网站瘫痪。502错误的网关错误也会使你的网站瘫痪,但更易于诊断和修复。如前所述,它几乎总是与FPM配置相关。

500内部服务器错误的原因及其解决方法

关于500错误的第一件事是,它可能是由与代码执行失败几乎总是相关的许多不同因素引起的。我将尝试按照问题类型和你所执行的操作列出错误列表,而不是立即诊断所有问题。

  • 通过将较旧的站点迁移到较新的主机
  • apache配置中.htaccess中的错误
  • PHP代码执行中的错误

常见的解决方法

将旧站点迁移到较新的主机:有几种方法可以显示此错误,但几乎总是与绑定到Web服务器的PHP版本有关。如果当前站点或插件不支持当前版本,则较新的PHP版本会立即产生500内部服务器错误。

例如,当你将站点从具有较旧PHP版本的中等托管迁移到仅接受较新版本(7.0及更高版本)的较新托管时,此错误就是经典错误。如果你的站点最近未更新,则可能是旧的插件引起了问题。我将其称为“迁移内部服务器错误”,因为在你迁移网站时几乎总是会发生此错误。

尝试将WordPress网站迁移到新主机时,解决此可怕错误的最佳方法是制作插件和网站主题的完整副本。完成此操作后,请从你的站点中删除所有插件,然后重试。如果错误消失了,几乎可以保证该错误是由主机上的较新版本的PHP生成的,只是拒绝在较旧的插件上执行代码。通过一次重新上传一个插件,你可以轻松找出哪个是导致问题的插件。

当将运行PHP 5.4和5.6的较旧站点迁移到使用PHP 7.0、7.1或7.2的较新主机时,几乎总是会出现此错误。

同样的事情也适用于你的主题。 由于主题可以并且确实在functions.php,single和page.php文件中实现了额外的PHP代码。一旦迁移到使用较新版本的PHP的主机上,很可能没有更新的旧主题可能会破坏你的站点,这种情况很不幸,因为解决此问题的唯一方法是更改​​主题并重建站点。这是最坏的情况。

.htaccess Apache配置错误:假设你正在配置插件,然后突然崩溃。如果在配置时遇到500内部服务器错误,例如缓存插件或与优化相关的任何插件,则需要检查该插件是否在.htaccess文件中添加了额外的代码。由于可以通过配置.htaccess文件中的功能(几乎总是隐藏的)来实时修改apache,因此 错误的配置可能会破坏你的站点。

修复它的方法是通过FTP访问你的站点并修改.htaccess文件,或者通过直接编辑,例如使用cPanel或Plesk上的文件浏览器。

如果你不知道如何还原插件所做的事情,而又需要重新创建站点,请复制现有内容作为文本文件。将此保存为备份。然后,将整个.htaccess替换为以下代码:

# 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 .htaccess文件。它应该与任何站点一起使用。因此,如果你不顾一切,不知道要删除哪个部分,只需删除所有内容并粘贴此代码即可,这将立即为你节省。你可以稍后删除该插件或尝试再次对其进行配置。

如果你不知道它是否与.htaccess有关,或者在未触摸任何插件的情况下开始显示此错误,请放心使用。只需复制.htaccess的内容并复制上面的代码即可尝试进行诊断。如果仍然不能解决问题,请保留.htaccess不变,然后尝试下一个建议。

PHP代码执行错误:这些类型的错误比你想象的要常见,并且通常在插件执行无效代码时发生。执行无效代码的最常见方法是当你尝试执行不建议使用的指令时。也许你正在尝试运行一个旧插件,该插件仅设计为与PHP 7.0或更高版本一起使用,最高支持PHP 5.4或5.6。不建议使用的无效功能将创建内部服务器错误,只能通过启用WP Debug模式来诊断。

启用wp_debug

WordPress调试模式将为你提供有关停止执行所引发的错误的大量详细信息。我们启用它的方法是将站点根文件夹中wp-config.php 文件中wp_debug 的值从“ false”更改为“ true”。

如果你使用的是Plesk或cPanel,则可以通过使用文件资源管理器简单地更改该值并编辑wp-config.php来实现。编辑完文件后,你将能够看到正在生成的实际错误,该错误停止了执行。该错误还将说明发生此错误的路径和文件,因此很容易猜测是什么插件引起了该错误。通过禁用它,我们可以根据情况跳过错误并稍后更新插件或将其删除。

500内部服务器错误的绝大多数实例都涉及较旧的主题版本或插件。通过将主题切换为任何标准的WP主题,你将可以重新获得对网站的访问权限。禁用有冲突的插件也将返回你对仪表板的访问权限。如果你碰巧遇到的主题是负责破坏站点的情况,则解决该问题的最佳方法是从主题文件夹wp-content / themes / yourtheme中创建该主题的zip文件,然后将其从中删除你的网站。这将消除该错误,以便你可以重新访问你的网站。然后,你可以重新上传并更新它,而无需激活它。你可以使用插件执行相同的操作。

可以通过更新来修复 500内部服务器错误的最常见情况。如果上述插件/主题没有可用的更新,则可以尝试切换到旧的PHP版本。但是请知道,这是一个短暂的解决方法。较新版本的PHP变得稳定,而较旧的版本则被定期弃用。你的网站迟早肯定会停止工作。最好的方法将始终是更新或删除/替换相关插件。

Aini99

Yahoooooooo!

相关推荐

微信扫一扫,分享到朋友圈

如何修复WordPress 500内部服务器错误
返回顶部

显示

忘记密码?

显示

显示

获取验证码

Close