WordPress通常不会无缘无故地出现错误,常见的WordPress错误一般为第三方主题或者插件,服务器设置等导致。
虽然许多错误乍一看似乎令人生畏,但大多数WordPress问题源于通常易于处理的相对较小的问题。只要您了解问题的根源,您通常可以自行执行一些基本的故障排除。
为了帮助您,本教程将介绍如何诊断和纠正12个最常见的WordPress错误。
1.解析错误/语法错误
让我们从一个简单的开始。虽然我们将要查看的许多错误可能会因它们提供给您的信息太少而令人沮丧,但“解析错误”(或“语法错误”)至少足以帮助您准确地告诉您出了什么问题。
当您的站点代码存在问题时,会发生此错误,最常见的是在functions.php文件中。将出现一条简单的消息,而不是加载您的页面,其中解释了问题所在以及发生的位置。
要解决此问题,您需要使用SFTP访问指定的文件。推荐使用FileZilla,因为它是一个免费的开源工具。只需使用您的网络主机提供的服务器账号密码,并访问您网站的后端。
然后,您需要找到有问题的文件。在上图中的示例中,您可以看到问题出 在站点当前主题的functions.php文件中。因此,我们将访问该主题的文件夹,右键单击functions.php,然后选择View/Edit。
如果您检查Parse错误消息,您可以看到它甚至会告诉您问题存在于哪一行。现在我们只需要找到那一行代码并解决问题。在我们的例子中,这是一个缺少括号的简单情况,所以让我们解决这个问题。
保存您的文件,并在您的FTP客户端询问您是否要替换服务器上的现有文件时选择是。您现在应该能够检查您的网站并看到它恢复正常。
2. 死亡白屏 (WSoD)
WordPress中最臭名昭著和最神秘的错误之一是可怕的白屏死机 (WSoD)。此错误只是将您的整个站点替换为一个空白、白色的内容,不留下任何错误消息或进一步的帮助。
出现此问题的原因有多种,通常意味着您的网站无法正确加载。因此,有多种方法可以对其进行故障排除。
实际上,我们之前已经在本博客中介绍了如何修复WSoD,因此我们建议您查看我们针对此错误的综合指南。但是,以下是您可以采取哪些措施来解决这个特别棘手的问题的快速摘要:
- 禁用插件。 WSoD背后最有可能的罪魁祸首是有问题的插件,因此请尝试将它们全部禁用,看看是否能解决问题。
- 禁用主题。您的主题也可能导致此问题,因此请使用SFTP将其替换为WordPress的默认主题之一。
- 激活WordPress调试模式。 这是一个有用的功能,可让您直接在每个页面上查看错误,这可以帮助您查明WSoD的根本原因。
- 清除缓存。 最后,即使WSoD已修复,您站点的缓存解决方案也可能导致您看到过时的文件。因此,您需要清除缓存并查看是否可以解决问题。
- 提高内存限制。 您的站点可能内存不足。您可以通过编辑php.ini文件来提高最大限制。
这些方法将在绝大多数情况下修复WSoD。但是,如果您仍然遇到问题,您应该联系您的服务器支持团队以获得更多帮助。
3. 内部服务器错误
该内部服务器错误是另一个问题,可以是令人沮丧的不透明有关基本问题。
幸运的是,此错误的潜在原因比WSoD少。当服务器出现未知问题时会出现,一般是以下情况之一引起的:
- 您网站的.htaccess文件有问题。
- 您的网站已达到其内存限制。
简单来说,.htaccess是一个文件,它决定了您的WordPress站点如何与其服务器通信。此文件可用于提高站点的安全性,并覆盖某些默认服务器设置。要测试并查看此文件是否导致内部服务器错误,您需要做的就是禁用它。
您可以再次使用SFTP执行此操作。该文件通常位于您站点的根目录中,该目录通常名为public_html。
要禁用该文件,只需更改其名称。例如,如果您将其重命名为.htaccess-disabled,则您可以检查您的站点以查看问题是否已解决。
如果这确实解决了问题,您需要做的就是生成一个新的、无错误的.htaccess文件。您可以通过进入管理仪表板并访问 设置>固定链接 来做到这一点。
您无需在此处进行任何实际更改。只需单击“保存更改” 即可生成新的.htaccess文件。这应该有望解决问题。
如果没有,您可能需要增加PHP内存限制。如果您发现无法进一步提高限制,您可能需要升级你的网站服务器配置。
4. 404错误
404错误应该是互联网用户最熟悉不过的了。
它表示服务器无法找到请求的页面。此错误最常与损坏的链接和更改的 URL 相关联,但即使您要查找的页面应该 可用,也会发生此错误。
发生这种情况时,最可能的原因还是.htaccess文件。此文件还处理您站点的超链接结构,并且它可能会错误地重定向您的 URL。因此,您的第一步应该是 使用我们在上一节中概述的步骤重新生成一个新的.htaccess文件。
但是,万一这不能解决错误,您可能需要重新上传.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
您现在可以将文件上传到站点的根文件夹。在大多数情况下,这应该可以解决您看到的404错误。
5. 建立数据库连接时出错
顾名思义,如果您的站点无法访问其数据库,则会出现此错误。如果您不熟悉该术语,您站点的数据库就是存储其所有内容的地方。这包括您的文章、页面和用户信息。因此,如果您无法访问数据库,您的站点将根本无法运行。
发生此错误的原因有多种,但大多数原因源于您网站上的单个文件,即wp-config.php。此文件包含有关您站点数据库的所有信息,因此它很可能是此类问题的根源。
要修复数据库连接,请访问您站点的wp-config.php文件,该文件应位于其根文件夹中。
右键单击该文件,然后选择View/Edit。您首先要检查文件中的凭据是否正确。为此,您应该访问您的phpMyAdmin 以查找确切的详细信息。如果文件中的主机名、用户名、密码和/或数据库名称不正确,替换它们应该可以修复错误。
但是,如果错误仍然存在,您可能需要激活WordPress的自动数据库优化工具。此功能可用于修复损坏的数据库,可以通过在wp-config.php 文件中添加以下行来启用:
define( 'WP_ALLOW_REPAIR', true );
保存文件并将其上传回服务器后,您可以通过在浏览器中导航到https://yourwebsiteurl.com/wp-admin/maint/repair.php来运行新脚本。结果页面将如下所示:
您需要做的就是单击任一按钮以运行修复工具。该过程完成后,页面将重新加载,您应该会看到一条消息,告诉您数据库表已修复。
这应该处理您的数据库连接错误。完成后不要忘记从wp-config.php中删除WP_ALLOW_REPAIR行。
6. 连接超时错误
您可能已经看到在站点尝试(不成功)加载一段时间后出现此错误。这意味着服务器正在努力加载站点,并且基本上已经放弃。
发生这种情况的原因有很多,其中最常见的是您的站点没有正常运行所需的资源。例如,如果您使用共享主机,另一个站点可能会占用您服务器的资源。或者,您的站点可能已超出其最大允许带宽。
因此, 如果您多次看到此错误,您可能需要考虑升级您服务器配置。更高级别的计划将帮助您避免速度减慢和停机,因为您的站点将拥有更多服务器资源,并且不会受到其他站点流量激增的影响。
如果您的站点对服务器造成很大压力,也会发生“连接超时”错误。因此,我们建议您优化网站的速度,摆脱任何占用资源的插件,并检查您的主题,看看它是否会拖累您的性能。同样,您可能还想增加PHP内存限制。
7. 网站侧边栏错位
有时,您可能会发现侧边栏不知道因何原因跑到了每个页面和文章主要内容底部而不是侧边。
这通常总是由主题的HTML或CSS代码问题引起的。因此,此错误可能是由于您的主题最近发生了更改。如果您最近编辑过任何主题文件,请尝试将它们恢复到以前的状态,看看是否能解决问题。
更具体地说,在解决此问题时,您应该注意两个主要事项:
- 多余的<div>标签: 这些标签用于添加HTML元素,如果没有正确打开或关闭,可能会导致侧边栏移动。
- CSS中的页边距不正确:如果您的style.css文件中的页边距设置不正确,则侧边栏可能在您的主要内容旁边没有所需的空间。
检查这些问题的主题,您应该能够找到问题的根源。您还可以通过W3C标记验证服务运行受影响的页面,以帮助您更快地找到错误的来源。参考此前我们写的教程,可以帮助你更快地解决问题。
8. 无法上传图片
图片在您的WordPress网站上有几种不同的“破坏”方式。在您上传它们后,它们可能会显示不正确,或者您可能根本无法上传它们。无论哪种方式,问题很可能源于不正确的文件权限。
从本质上讲,这意味着该站点不知道您被允许添加和访问您尝试使用的文件。如果您的网站被黑客入侵,或者插件意外重写了您的权限,就会发生这种情况。幸运的是,有一个简单的解决方法。
再一次,您需要使用SFTP访问您的站点。这次您需要找到 位于wp-content 目录中的uploads文件夹。
但是,您不想打开此文件夹。相反,右键单击它并选择File permissions。这将打开文件夹的权限设置。
您需要将Numeric值设置为744,因为这将让所有者(即您)读取和写入上传。 完成此操作后单击“确定”,新权限将被应用。
您需要对文件夹内的所有文件重复相同的过程,因此现在右键单击上传 并 再次选择文件权限。这一次,您需要将该值设置为644并选中Recurse into subdirectories选项。您还需要选择仅应用于文件。
保存更改后,您网站的媒体库应该会再次正常工作。您可以通过在管理仪表板中上传图像来检查这一点。如果仍有问题,您可以重复上述过程,但将上传 文件夹的权限值设置为755而不是744。
对于网站无法上传图片或者文件,建议阅读“如何修复WordPress无法上传图片&文件错误”完整教程。
9. 无法访问WordPress后台
到目前为止,我们讨论的错误都是由技术问题引起的。但是,被锁定在WordPress仪表盘之外有点不同。简而言之,这通常发生在您忘记密码时。
现在,没有必要恐慌。丢失密码并不意味着您无法访问您的网站。首先,您可以单击丢失密码?登录页面上的链接。这将允许您通过输入您的用户名或电子邮件地址来恢复您的密码。
在绝大多数情况下,这将奏效。但是,在极少数情况下,此功能可能存在问题,它可能被禁用,或者您可能无权访问您注册时使用的电子邮件。
如果是这种情况,可以使用phpMyAdmin来重置您的密码。但是,使用此方法可能存在风险,因为您可能会意外导致站点或数据库出现问题。因此,您只能将此方法用作最后的手段。该过程本身会因不同的服务器和设置而异,在此处就不演示如何进入phpMyAdmin的流程。
进入数据库管理后台,您需要找到用户表,该表通常称为wp_users或类似名称。找到它后,找到您的特定用户帐户并单击Edit。
您现在可以更改您的个人资料信息,包括其密码。用您要使用的任何密码替换user_pass行中的当前字符串。
您还应该将功能下拉菜单设置为MD5,因为这将加密密码。保存更改后,您可以继续使用新密码再次登录。
10. WordPress卡在维护模式
维护模式是一项自动功能,可在您的站点更新时暂时禁用它。这是为了避免用户在您更新网站时尝试使用您网站上的功能的情况,这可能会导致问题。
通常,更新过程非常快,您甚至不会注意到更改。但是,如果更新必须在完成之前取消,您可能会发现您的站点无限期地处于维护模式。
好消息是,这是一个非常容易解决的问题。您需要做的就是再次启动 SFTP,访问您站点的根文件夹,然后删除名为.maintenance的文件。
此文件用于激活维护模式,因此删除它将使您的站点恢复正常。但是,您还需要重试失败的更新,因为此错误意味着它没有成功完成。
11. 定时发布错误
定时发布是WordPress一项非常有用的功能之一。您可以提前计划文章发布的日期时间,到点即自动发布内容。
但是,有时此系统会失败,您会在文章旁边查看错过的定时发布错误。
在没有太技术性的情况下,这个问题是由称为“cron作业”的东西引起的, 这是WordPress用来自动执行某些流程的任务。如果在安排您的文章时未触发适当的cron作业,它将无法发布并保留在您的管理仪表板中,直到您手动执行此操作。
避免此错误的最佳方法是使用WordPress插件,我们推荐Scheduled Post Trigger。
这是一个免费且非常轻量级的插件,可确保负责发布预定文章的cron作业按预期运行。通过在您的网站上激活它,您可以放心,您计划的文章将从现在开始准时发布。
12. WordPress无法自动更新
随时更新您的WordPress网站至关重要。 多年来,我们一直强调这一点,它仍然是我们给每个网站所有者的最重要的建议之一。部分WordPress主机自带自动更新功能,您通常不需要自己执行此操作,因为服务器将应用新的WordPress更新。
但是,偶尔会出现问题,自动更新会失败。
当然,这是非常不规则的,但它可能发生。这通常是由于服务器与WordPress文件的连接出现故障、文件权限不正确(我们之前讨论过)或互联网连接不可靠。
如果WordPress无法自动更新,您可能会遇到WSoD,或者在您尝试访问您的网站时注意到警告错误。要解决此问题,您需要手动更新WordPress,方法是下载最新版本的软件并使用SFTP将其安装在您的站点上。
或者您也可以尝试我们的Kill 429插件,该插件当时设计开发的初衷是为了帮助站长解决429 Too Many Requests问题。但它同时也可以解决,WordPress更新连接错误问题。
注:该插件目前处于停止更新状态,但理论上可以使用来用于WordPress更新或者主题插件更新网络连接失败导致的问题。