解决WordPress中500个内部服务器错误和空白页的终极指南

500内部服务器错误是世界各地WordPress用户最无助的祸根。这是一条笼统的错误消息,确切地说是:某个地方出了问题。更糟糕的是,您的WordPress网站可能根本没有任何错误,只会显示空白的页面。

So how can you figure out exactly what’s wrong, and fix it?

首先:不要着急,因为通常这很容易解决!然后:按照此调试过程进行操作,您的WordPress内部服务器错误将立即得到解决。

WordPress插件是否会引发错误500?

如果您刚刚安装了新插件或如果核心WordPress升级后您的网站显示500错误,则最可能的原因是插件不兼容。插件被破坏的原因有很多:

  • WordPress可能已删除了该插件使用的某些核心功能。
  • 它可能是为旧版本的PHP编写的,尚未被使用。
  • 它可能只是错误地编码,例如引用默认数据库名称而不是使用前缀。有时候我们都对延迟编码感到内
  • 如果您刚刚安装了插件并且发现了错误,那么识别插件很容易。但是,如果无法访问管理区域,如何禁用该插件?而且,如果您甚至都不知道哪个插件导致了错误,该怎么办?无论哪种情况,您都需要FTP访问,但是CPanel或Plesk的基于Web的文件管理器也可以正常工作。

    确切知道哪个插件坏了吗?找到插件并将其从 wp-content / plugins / 文件夹中删除。您现在应该可以再次登录。找到所需功能的替代方法。

    如果不确定是哪个插件引起了错误,则应重命名整个 wp-content / plugins / 文件夹本身。在前面放置一个下划线(“ _ "),因此它被命名为 _plugins

    通过重命名文件夹,您可以有效地停用每个插件立刻。您现在应该可以再次登录,但是会收到来自WordPress的错误消息列表的问候,该消息显示“由于错误,插件something.php已被停用:插件文件不存在。"

    不用担心,您没有丢失任何设置。插件设置存储在数据库中,大多数插件会在重新激活后再次找到它们。

    下一步,重新命名文件夹下划线。它们都将在“插件"页面上列出,但处于停用状态。现在,您可以一个个地重新激活它们,直到找到罪魁祸首。

    当站点再次崩溃时,重复此过程,但是这次不要重新激活损坏的插件!

    500内部服务器错误:主题不兼容

    禁用插件没有帮助?那可能与您的主题有关。就像插件一样,您可以通过简单地重命名活动主题的文件夹来强制禁用活动主题,您可以在 wp-content / themes / 目录中找到该文件夹​​。

    如果仍然可以在尝试重命名插件和当前主题后,无法访问管理区域,您应该继续执行进一步的步骤。如果您可以登录,WordPress将提醒您它已恢复为默认主题。此时,您可以找到一个新主题,联系主题开发人员寻求帮助,或者尝试自己修复它。

    要自己修复它,或者为开发人员提供进一步的解释,请参阅本节。稍后在启用WordPress调试模式上。

    500内部服务器错误:错误的.htaccess文件

    如果停用插件和主题没有任何效果,则有可能您的 .htaccess 文件以某种方式损坏。如果您仍然可以访问网站的管理区域,但是前端不能正常工作,通常就是这种情况。

    .htaccess文件可以处理永久链接的转换(URL的漂亮版本,例如 / my-blog-post ),转至WordPress的内部丑陋URL方案(默认情况下,类似于 /? p = 12345)。这是WordPress的关键部分,但是插件有时会把它弄乱。

    再次,转到您的FTP客户端或文件管理器。将WordPress安装目录根目录中的 .htaccess 文件重命名为 .htaccess_old 。如果您实际上看不到该文件,则需要启用查看隐藏文件-具体操作方法会因FTP客户端的不同而有所不同。

    在文件名的开头是在Linux和其他类似UNIX的系统中说“隐藏此文件"的方式。

    重命名当前的.htaccess后,请返回WordPress管理区域,然后转到设置>永久链接,然后不做任何更改,点击保存。这样会自动生成该文件的新工作版本。

    如果您手动对该文件进行了任何更改,这些更改将会丢失(但是无论如何您都不应该手动编辑该文件)。

    p>

    启用WordPress调试模式以跟踪错误

    We can enable a debug log from within WordPress config, which might give a clue as to the exact problem, but at this point you’re on your own. You’ll need to figure out how to fix it, which will require coding skills.

    要启用调试日志,请打开 wp-config.php ,它将在根目录中找到您的WordPress安装。编辑此文件时要非常小心:最好先制作一个副本,以防万一发生意外更改,可以将其还原。

    找到以下行:

    define('WP_DEBUG', false);

    如果您的网站访问频率不高,您也不介意向所有人显示错误消息,只需将单词 false 更改为 true 。现在,在您加载网站时会显示错误消息。

    如果您希望将错误消息保密,请在开始时键入 // 注释掉该行,然后在其下面粘贴以下内容:

    define('WP_DEBUG', true);define('WP_DEBUG_LOG', true);define('WP_DEBUG_DISPLAY', false);@ini_set('display_errors',0);

    这将开始将错误输出到 wp-content 文件夹中名为 error.log 的文件中。如果刷新FTP客户端,在一分钟左右后仍看不到任何内容,则WordPress可能没有创建该文件的权限。手动创建一个新的error.log文件并赋予其权限666。

    请注意:此文件将继续增大,直到您从配置中删除这些行。别忘了取消注释原始行。在任何文本编辑器中读取文件,并检查是否有严重的PHP错误。

    在该示例中,我看到了许多有关不推荐使用的代码的PHP声明,但这些声明实际上不会破坏站点。

    p>

    500内部服务器错误:服务器配置错误

    运行自己的虚拟专用服务器并不容易。我曾经遇到过一个神秘的案例,大约所有页面加载的一半显示500错误,但是没有可辨别的模式,也没有服务器错误日志的线索。激活WordPress调试日志也没有显示任何明显的内容:有许多PHP通知和不推荐使用的信息,但没有任何关键要求。为了加快网站速度。卸载可以完全消除500个错误。

    我的观点是5​​00个错误可能只是服务器配置的组合,这些配置呈现出不兼容性。如果您使用的是托管服务,那么这不太可能,但是对于您自己的虚拟专用服务器(什么是虚拟服务器,以及为什么要使用一台虚拟服务器),您要负责确保所有功能都可以正常工作,这比听起来要难。

    您的站点内存不足吗?

    在共享主机上,您可能会发现正在达到 PHP内存限制-WooCommerce,论坛或相关帖子插件由于其复杂性而可能导致这种情况。如果幸运的话,您会看到一条错误消息,例如“致命错误:允许的xxx字节内存容量用尽",但并非总是如此。

    您可以通过在您的计算机上添加以下行来解决此问题 wp-config.php

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

    大多数共享主机实际上不会让您增加内存限制,但您却得到了所得到的。是时候考虑其他形式的托管了。

    500错误已修复?现在,每天进行备份吧!

    针对任何严重的WordPress错误的最佳防御方法是维护每日备份以及在每次重大操作(例如核心WordPress更新)之前进行手动备份。另外,请保持插件和主题的更新:WordPress的新版本经常破坏旧代码。

    当您的网站崩溃时,这可能会令人恐惧-特别是如果它是您的收入来源,而不仅仅是一种业余爱好。通过遵循本指南并有条不紊,您应该尽快对其进行备份。

    请考虑升级到托管的WordPress托管服务,该服务可以为您处理备份和优化,从而使此类错误不存在。 我们建议InMotion Hosting(使用此链接获得38%的折扣)和Bluehost(使用此链接获得25%的折扣)。

    标签: Wordpress WordPress插件