我们大多数人,无论是开发人员,设计师还是最终用户,在我们的一生中都必须忍受至少一个。也就是说,获得内部服务器错误并尝试对其进行修复的痛苦过程。许多人并不希望了解更多–他们只是想解决问题。但是,如果您不试图至少理解它,那么您必然会遭受更多的命运。 500内部服务器错误非常重要,因为它会完全停止所有进程并可能导致整个站点瘫痪。因此,如果我们想摆脱它,我们首先需要更好地了解它的含义。.
在本文中,我将介绍此错误的含义,如何识别问题以及如何解决该问题的基本知识。但是,在开始之前,我想向您介绍存在的各种http(站点)错误以及它们可能意味着什么。如果您愿意,可以跳过如何修复WordPress 500错误.
Contents
常见的HTTP状态和错误代码
首先,我将解释这些错误的真正含义。当前有一个状态列表和 HTTP错误 可以更好地排除故障。这些错误通常分为几种类型。因此,为简化起见,我们将介绍在使用WordPress网站时会发现的最重要的错误和信息状态代码.
100x响应(状态)
网络服务器直接给出这种类型的响应。根据您的托管公司,响应可以由Apache,nginx或公司使用的任何其他Web服务器给出。这种回应 与错误无关. 它们通常用于指示已建立连接。它们是连接的状态响应代码.
200x响应(成功)
成功的就是我所说的。这类回应总是表示 成功. 这意味着服务器已成功与您建立连接,已正确提供了所要求的资源或已建立了代理连接.
最常见的成功代码称为 200 OK. 如果您使用的是WordPress速度测试工具(例如在Pingdom Tools上说),并且正在尝试找出FTTB(首次写入字节),则可以查看此示例。始终对第一个请求发出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和网络服务器本身达到100%的CPU使用率而无法处理更多的传入连接时,就会看到此错误消息.
您可以通过切换到更好的Web服务器(例如从Apache到Nginx)或在您的网站上实现WordPress缓存插件来解决此问题.
502错误的网关
这就是我所说的配置错误。没有任何原因不会出现此错误。如果您遇到此错误,最可能的原因是 你做了什么,却做错了. 通常在人们尝试调整Apache和PHP配置或尝试优化nginx时会发生这种情况。错误的网关是一个错误,几乎总是在PHP FPM(快速过程管理器)失去连接时发生。调整错误的设置,或者由于进程崩溃。这会导致网络服务器回应 错误的网关.
解决此错误的最简单方法是仔细检查您的PHP-FPM配置,因为这是导致此错误的最可能原因。在Nginx上,这种情况比在Apache上发生的更多,在cPanel或Plesk提供的托管服务上几乎从未发生过。后两个面板均具有适当的防护措施,以防止配置错误。但是,在管理自己的VPS时确实经常发生.
寻找更多有关此的帮助吗?按照我们的指南操作,以解决502错误的网关错误.
500内部服务器错误
错误的大坏蛋。 500个内部服务器错误是所有这些错误中最严重的一个,主要是因为这样 一般错误. 如果您没有足够的知识来处理它,那将是一个很大的痛苦,因为它会使您的整个网站瘫痪。 502错误的网关错误也会使您的网站瘫痪,但更易于诊断和修复。如前所述,它几乎总是与FPM配置相关.
500个内部服务器错误的原因及其解决方法
关于500错误的第一件事是,它可能是由与代码执行失败几乎总是相关的许多不同因素引起的。我将尝试按照问题类型和您所从事的工作列出错误列表,而不是立即诊断所有问题.
- 通过将较旧的站点迁移到较新的主机
- apache配置中.htaccess中的错误
- PHP代码执行中的错误
还有其他一些不太常见的情况,它们可能会引发500个内部服务器错误,但是为了本文的简单性和可用性,我将重点介绍这三种情况.
1.将旧站点迁移到较新的主机
有几种方法可以显示此错误,但几乎总是与绑定到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的主机上,很可能没有更新的旧主题可能会破坏您的站点,这种情况很不幸,因为解决此问题的唯一方法是更改主题并重建站点。这是最坏的情况.
2. .htaccess Apache配置错误
假设您正在配置插件,然后突然崩溃。如果在配置时遇到500个内部服务器错误,例如缓存插件或与优化相关的任何插件,则需要检查该插件是否在.htaccess文件中添加了额外的代码.
由于可以修改apache 实时 通过配置.htaccess文件中的功能(几乎总是隐藏),错误的配置可能会破坏您的网站.
解
修复它的方法是通过FTP访问您的站点并修改.htaccess文件,或者通过直接编辑,例如使用cPanel或Plesk上的文件浏览器.
如果您不知道如何还原插件的内容,而又需要重新建立网站,请复制现有内容作为文本文件。将此保存为备份。然后,将整个.htaccess替换为以下代码:
#开始WordPressRewriteEngine开 RewriteBase / RewriteRule ^ index \ .php $-[L] RewriteCond%{REQUEST_FILENAME} !! -f RewriteCond%{REQUEST_FILENAME} !! -d RewriteRule。 /index.php [L] #结束WordPress
这是 默认WordPress .htaccess 文件。它应该与任何站点一起使用。因此,如果您不顾一切而又不知道要删除哪一部分,只需删除所有内容并粘贴此代码即可,这将立即为您节省。您可以稍后删除该插件或尝试再次对其进行配置。现在,您知道了一种从灾难性错误中救出您的方法。至少与.htaccess有关.
如果您不知道它是否与.htaccess有关,或者在未触摸任何插件的情况下开始显示此错误,请放心使用。只需复制.htaccess的内容并复制上面的代码即可尝试进行诊断。如果仍不能解决问题,请保留.htaccess不变,然后尝试下一个建议.
3. PHP代码执行错误
这些类型的错误比您想象的要常见,并且通常在插件执行无效代码时发生。执行无效代码的最常见方法是当您尝试执行不建议使用的指令时。也许您正在尝试运行一个旧的插件,该插件仅设计为与PHP 7.0或更高版本一起使用,最高支持PHP 5.4或5.6。. 不推荐使用的功能和无效的功能 将创建只能由以下人员诊断的内部服务器错误 启用WP调试模式.
启用wp_debug
WordPress调试模式将为您提供有关停止执行所引发的错误的大量详细信息。我们启用它的方法是通过更改 从“假”到“真” 在文件内的wp_debug上 wp-config.php 在您网站的根文件夹中.
如果您使用的是Plesk或cPanel,则可以使用文件资源管理器简单地更改该值并进行编辑 wp-config.php. 您也可以按照这个 调试指南 通过Blogvault获得更详细的步骤.
编辑完文件后,您将能够看到正在生成的实际错误,该错误停止了执行。该错误还将说明发生此错误的路径和文件,因此很容易猜测是什么插件 造成它. 通过 禁用它 我们可以根据情况跳过错误并稍后更新插件或将其删除.
解
500个内部服务器错误的绝大多数实例都涉及 较旧的主题版本或插件. 通过将主题切换为任何标准的WP主题,您将可以重新获得对网站的访问权限。禁用有冲突的插件也将返回您对仪表板的访问权限。如果碰巧遇到主题是破坏站点的情况,最好的解决方法是从主题文件夹中创建一个主题的zip文件。 wp内容/主题/您的主题 然后将其从您的网站中删除。这将消除该错误,以便您可以重新访问您的网站。然后,您可以重新上传并更新它,而无需激活它。您可以使用插件做同样的事情.
500个内部服务器错误的最常见情况 可以通过更新来修复. 如果上述插件/主题没有可用的更新,则可以尝试切换到旧的PHP版本。但是请知道,这是一个短暂的解决方法。较新版本的PHP变得稳定,而较旧的版本则被定期弃用。您的网站早晚 肯定会停止工作. 最好的方法将始终是更新或删除/替换有问题的插件.
永远记住,与以后尝试进行损害控制相比,预防和更新更好.
总结WordPress 500内部服务器错误指南
WordPress 500内部服务器错误可能真的很痛苦。但是在大多数情况下,只需删除/更新站点中冲突的部分,就可以轻松诊断和修复它们。尽管在某些情况下这些错误会超出正常范围(例如,当您开发插件时),但这超出了本文的目的.
对于绝大多数人来说,遵循上述建议应该可以解决您的问题。请记住,wp-debug是您最好的朋友,请始终认真执行以下步骤。您将立即使您的网站恢复在线.
还有其他问题吗?或处理WordPress 500内部服务器错误的提示?让我知道!