WordPress 中的内部服务器错误是最严重的。他们不提供有关问题的真实信息,而且很少是实际的服务器错误(即:通常您的服务器工作正常)。
在本文中,我将尝试了解 WordPress 中的这个内部服务器错误,并向您展示如何摆脱它:
打开调试
每当WordPress 当抛出死机白屏或服务器错误时,我建议打开调试。虽然这可能无法解决问题,但它会让您更深入地了解正在发生的事情。
您可以通过编辑站点的 wp-config.php 文件来打开调试。进入这个文件后,在里面搜索WP_DEBUG。如果找到它,您应该能够将其设置为“true”。如果您在那里看不到它,则需要自己创建它。无论哪种方式,在一天结束时,您应该有一行如下所示:
define("WP_DEBUG", true);
保存后,将您的网站重新加载到看看是否有任何变化。如果幸运的话,服务器错误可能会消失,可能会被另一个错误所取代,该错误实际上会告诉您问题出在哪里。
如果是这样的话,看看是哪里出错了。如果它在插件文件夹中,请禁用该插件,错误应该会消失。
即使打开调试不会给您带来好的结果,最好在问题解决之前保持打开状态。它会让您和任何开发人员更深入地了解正在发生的事情。一切都很好,你已经完成了维护,别忘了关闭调试!
停用所有插件并切换主题
如果您有权访问仪表板,则应停用所有插件并查看其中的内容。如果您的站点加载时没有出现服务器错误,则问题出在您的某个插件上。您可以一一切换它们以找出导致问题的原因。
您还可以将主题切换为默认的、未更改的 WordPress 主题,例如二十五或二十十六。如果站点加载时没有内部服务器错误,则问题出在您的主题中。
我注意到这些错误实际上是由插件引起的,所以这是你最好的选择。
检查 .htaccess 文件
.htaccess 文件(如果存在)包含许多规则,告诉服务器在某些情况下应该做什么。它通常用于重写 URL 或阻止出于恶意目的访问您的网站。
使用 FTP 编辑器检查您的 WordPress 根文件夹中是否有 .htaccess 文件。在执行此操作之前,您可能需要确保您的 FTP 编辑器列出了隐藏文件。
如果那里有 .htaccess 文件,请备份,然后删除其中的所有内容或整个文件。这可能会删除一些重要的规则,但这会告诉您内部服务器错误是否是由文件中的错误引起的。
如果现在错误得到解决,则问题出在 .htaccess 文件中。尝试恢复文件,然后删除其块。如果网站在某个时候开始工作,您就会知道问题出在哪个区块上。您可以将其缩小到通常的单行。然后您可以删除该行,或寻求开发人员或版主的进一步帮助。
增加你的内存
我从来没有遇到过这个问题,但我听说增加内存限制可能会有所帮助 - 我认为这在共享环境中更像是一个问题。为此,打开 WordPress 根目录中的 wp-config.php 文件并搜索 WP_MEMORY_LIMIT。如果存在,将值更改为“64M”。如果没有,请将以下行粘贴到文件中:
define('WP_MEMORY_LIMIT', '64M');
如果这样做,那么您只是暂时解决了问题。您可能在某处有一些错误代码(可能是第 3 方插件),这会耗尽您的资源。如果您的主机有可用的监控功能,请查看您的资源使用情况并打开/关闭各种插件,以更好地了解是什么在浪费这些宝贵的兆字节。
询问您的主机
有一些不常见的问题会导致 WordPress 出现内部服务器错误,但此时最好询问您的主机。问题可能是真正的服务器问题,他们至少可以确认,他们还可以查看文件权限和其他来源等内容。
重新安装 WordPress
在大多数情况下,我认为这不会有帮助,但在某些极端情况下,重新安装 WordPress 可以解决问题。它甚至可以修复文件权限问题。
为此,我建议遵循 WordPress Codex 中的手动 WordPress 更新说明,或 ThemeIsle 自己更新 WordPress 的安全方法。
概述
WordPress 中的内部服务器错误通常不是由实际的服务器故障引起的。大多数时候,可以使用上述方法相对轻松地纠正它们。如有疑问,请始终询问您的房东,他们拥有比您更先进的工具来查找和解决问题。
我总是建议您在工作时切换调试并解决插件和主题问题,因为这是任何支持技术人员都会要求您做的第一件事,否则他们会自己做。