如何修复Wordpress主机运行中出现的500错误

500 Internal Server Error,相信不少朋友在使用主机建站时遇到最头痛的事。在使用wordpress时,在迁移网站、新建网站、新使用主题/插件时,均有大概率出现500错误。500内部服务器错误是所有错误中最糟糕的,主要是因为是这样一个一般的错误。如果你对如何处理它没有足够的知识,它可能是一个真正的痛苦,因为它可以使你的整个网站瘫痪。

Wordpress 500 Internal Server Error Fixes

服务器内部出现500错误的原因及修复方法

关于500错误,首先要了解的是,它可能是由许多不同的因素引起的,这些因素几乎都与代码执行中的故障有关。我们不要试图一次性诊断所有的问题,而是按照问题的类型来判断,我们大概分析了下面几种情况。

  • 网站搬家或是新建网站。
  • 在apache配置的.htaccess中出现错误。
  • PHP代码执行中出现错误。

还有其他一些不太常见的情况也会出现500内部服务器错误,但为了本文的简单性和可用性,我将重点介绍这三种情况。

1、网站搬家或是新建网站。

这个错误有几种表现方式,但几乎总是与您的服务器所安装的PHP版本有关。如果当前的网站或插件不支持当前的版本,较新的PHP版本会立即产生一个500内部服务器错误。这个错误是典型的,例如,当您把您的网站从一个低PHP版本的主机迁移到一个新的主机,只接受新的版本(7.0及以上)。如果你的网站最近没有更新,一个旧的插件可能会导致一个问题。我称之为 "迁移内部服务器错误",因为它几乎总是发生在你迁移网站的时候。

解决方法

当您将您的WordPress网站迁移到新的主机时,修复这个错误的最好方法是将您的插件和您网站的主题做一个完整的副本。这样做之后,请删除您网站上的所有插件,然后再试一次。如果错误消失了,几乎可以保证这个错误是由你的主机上的PHP新版本产生的,只是简单地拒绝在您的旧插件上执行代码。通过每次重新上传一个插件,您可以很容易地找出是哪个插件导致了这个问题。

这个方法同样适合您的主题,如果怀疑是主题原因,也按上面的方法测试您的主题,只不过我们删除或是重命名现用主题后就会默认使用官方主题,请确保您的theme文件夹下有官方提供的三个默认主题。

新主机新建网站也有几率出现500错误,毕竟目前国内虚拟主机或是云主机基本都保留了老版本的php。当然自己配置环境也许就不会出现这种情况,如果新安装时出现这个,您就得首先考虑php版本的锅了。

解决方法

确保您的主机环境适配wordpress运行的基本环境,具体要求如下: php版本为7.4或更高和MySQL版本为5.6或MariaDB版本10.1或更高,Apache或Nginx任选一个。最佳环境来至wordpress官方推荐值

2、htaccess Apache配置错误

比方说您在配置一个插件的时候,突然一切都崩溃了。如果您在配置的时候,比如说一个缓存插件或者任何与优化相关的插件,得到一个500的内部服务器错误,您需要检查一下这个插件是否在你的.htaccess文件中添加了额外的代码。

因为apache可以通过配置.htaccess文件中的函数(几乎都是隐藏的)进行实时修改,一个错误的配置会破坏你的网站。

解决方法

修复的方法是通过FTP访问你的网站,修改你的.htaccess文件,或者直接编辑,比如用您主机提供的文件资源管理器。如果您不知道如何恢复插件所做的东西,您需要你的网站重新启动, 把现有的内容复制成文本文件,把这个作为您的备份。然后用下面的代码替换整个.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的原样。

3、PHP代码执行错误

这些类型的错误比您想象的要常见,它们通常发生在插件执行无效代码的时候。最常见的执行无效代码的方式是当您试图执行过时的指令。也许您试图运行一个老的插件,它的设计只适用于高达PHP 5.4或5.6的PHP 7.0或更新的版本。废弃的和无效的函数会产生一个内部服务器错误,只能通过启用WP调试模式来诊断。(特别是国内那些代码质量堪忧的主题插件、破解主题和插件、万年不更新的主题和插件等等)。

解决方法

WordPress的调试模式会给您提供关于停止执行的错误的大量细节。我们启用它的方法是将网站根目录下wp-config.php文件中wp_debug的值从 "false "改为 "true"。如下图:

Wp Debug Screenshot

一旦开启debug调试模式后,您将能够看到实际生成的错误,停止执行。错误也会说明发生的路径和文件,所以很容易猜测是什么插件造成的。通过禁用它,我们可以跳过这个错误,以后根据情况更新插件或删除它。

结论总结

总的来说,绝大多数情况下的500内部服务器错误涉及旧的主题或插件。通过切换您的主题到任何标准的WP主题,您将能够重新获得访问您的网站。停用冲突的插件也会让您恢复对仪表板的访问。如果您碰巧遇到的情况下,最好的办法来解决它是通过创建一个zip文件,所述主题的主题文件夹wp-content/themes/yourtheme,然后从您的网站删除它。这将消除错误,所以您可以重新获得访问您的网站。然后,您可以重新上传它,并更新它,而无需激活它。插件也是同样的方法。

所有,在网站运行中,尽量保持所有都在最新版上面。这样能能预防出现错误。另外,不要任意在在线网站上试用新主题或是插件。保持本地测试完全无错后在把新主题运用在网站上是一个不错的选择。

本文已在Ie主题99839发布

文章来源:https://ietheme.com/wordpress-500-internal-server-error.html


撰写评论

您的邮箱地址不会被公开。 必填项已用 * 标注


2 评论

加入我们

注册完成!

密码重置

请输入您的邮箱地址。 您将收到一个链接来创建新密码。

检查你的邮件中的确认链接。