常见问题:故障排除

另请参阅 常见WordPress错误,了解WordPress用户遇到的最常见错误,例如:

  • 白屏
  • 内部服务器错误
  • 建立数据库连接错误
  • 自动升级失败
  • 连接超时
  • 升级后的维护模式
  • PHP错误或MySQL数据库错误

无法访问管理菜单时如何停用所有插件?

有时可能需要停用所有插件,但您无法访问管理界面来执行此操作。有两种方法可以停用所有插件。

使用 phpMyAdmin 停用所有插件。

  1. 在 wp_options 表中,在 option_name 列(字段)下找到 active_plugins
  2. option_value 字段更改为:a:0:{}

或者通过 FTP 或主机控制面板中提供的文件管理器重置您的插件文件夹。此方法保留插件选项,但需要手动重新激活插件。

  1. 通过 FTP 或您主机的FileManager,导航到 wp-contents 文件夹(目录)
  2. 通过 FTP 或您主机的FileManager,将文件夹“plugins”重命名为“plugins.hold”
  3. 登录到您的WordPress管理插件页面(/wp-admin/plugins.php)——这将禁用任何“缺失”的插件。
  4. 通过 FTP 或您主机的FileManager,将“plugins.hold”重新命名回“plugins”

自动升级后如何清除“暂时无法访问,正在进行计划维护”消息?

作为自动升级的一部分,WordPress会在博客的文件夹(包含wp-admin文件夹的文件夹)中放置一个名为.maintenance的文件。如果该文件存在,访问者将看到消息暂时无法访问,正在进行计划维护。请稍后查看。

要阻止该消息向访问者显示,只需删除.maintenance文件即可。自动升级应再次执行,以防万一它失败了。

刚刚发布了一个更新,为什么我的博客没有识别到有可用更新?

当更新发布时,管理屏幕顶部会显示通知,显示WordPress x.x.x 可用!请立即更新。并非所有博客都会同时看到此消息。您的博客程序设置为每12小时检查一次更新,但检查时间是纯粹随机的。因此,如果您的博客在更新发布前几分钟刚检查过更新,您将不会看到更新消息,直到您的博客在12小时后再次检查更新。

如果您希望您的博客立即检查更新,您可以删除wp_options表中名为update_core的选项记录。请注意,插件和主题各自有其检查和更新周期,由wp_options中的update_pluginsupdate_themes记录控制。

相关讨论帖

上次自动升级后,为什么我对WordPress默认主题的自定义更改丢失了?

核心升级会将分发包中的所有新文件覆盖旧文件,因此如果您更改了WordPress默认主题中的现有文件(例如wp-content/themes/twentysixteen/style.css),这些更改将被该文件的新版本覆盖。

请注意,核心升级会根据wp-admin/includes/update-core.php中定义的“旧文件”列表删除这些文件。不在列表中的文件和不在分发包中的文件将被保留。

请记住,在升级之前,无论是自动升级还是手动升级,都应按照WordPress备份中的说明备份WordPress文件和数据库。

修改默认主题的一个更好方法是使用子主题。这需要多一些设置工作,但值得付出,因为当主主题更新时,您的自定义内容将是安全的。

如何修复MySQL数据库表?

每隔一段时间,可能需要修复一个或多个MySQL数据库表。根据dev.mysql.com上的“如何修复MyISAM表”,修复表的原因有很多,包括诸如“tbl_name.frm被锁定无法更改”、“找不到文件tbl_name.MYI(错误代码:nnn)”、“意外的文件结束”、“记录文件损坏”或“从表处理器获得错误nnn”等错误。

以下是使用phpMyAdmin修复MySQL数据库中表的步骤:

  1. 登录到主机账户。
  2. 登录到 phpMyAdmin
  3. 选择受影响的数据库。如果您只有一个数据库,它应该会默认选择,所以您无需执行任何操作。
  4. 在主面板中,您应该会看到数据库表的列表。勾选需要修复的表旁边的复选框。
  5. 在窗口底部、表列表下方,有一个下拉菜单。选择“修复表”

请记住,始终建议您拥有数据库的最新备份。另请参阅 WordPress备份

如何清空数据库表?

请参阅 清空数据库表

未收到通过电子邮件发送的密码

描述: 当用户尝试注册您的博客或通过输入用户名和/或电子邮件来更改密码时,WordPress会提示密码已通过电子邮件发送给他们,但他们从未收到。

原因和解决方案: WordPress使用标准的PHP mail()函数,该函数使用sendmail。不需要账户信息。如果您使用的是托管服务,这通常不是问题,但如果您使用的是自己的服务器并且没有SMTP服务器,则邮件将永远无法发送。如果您使用的是*NIX服务器,您的机器上应该有postfix或sendmail;您只需要进行设置(请在互联网上搜索操作指南)。如果您不想在您的*NIX服务器上设置一个完整的邮件服务器,您可能会发现 msmtp 很有用——它提供了 “一种安全、有效且简单的方式将邮件从系统发送到您的邮件中心”。在Windows机器上,请尝试sendmail模拟器,例如 Glob SendMail

更多帮助可在WordPress支持论坛的此主题中找到: https://wordpresstheme.cn/support/topic.php?id=24981

Windows主机服务器特定: 检查SMTP虚拟服务器上的“中继”设置。授予 127.0.0.1 访问权限。然后,在您的 php.ini文件中,将 SMTP 设置更改为相同的IP地址。同时将 smtp_port 设置为 25

确保使用正确的返回地址: 默认情况下,WordPress邮件发送器会在“发件人:”字段中填写 wordpress@yourdomain.com,并将“发件人:”名称设置为 WordPress

如果这是一个有效的电子邮件地址,则没问题。例如,如果您的真实电子邮件是 wordpress@yourdomain.com,您的主机应该会将邮件转发以进行递送。只要 yourdomain.com 设置为发送和接收邮件,即使 wordpress 不是一个有效的邮箱,它也可能会发送您的邮件。但如果您将真实电子邮件设置为“发件人:”地址,并且它是诸如 wpgod@gmail.com 之类的地址,则邮件可能无法发送,因为 gmail.com 不是邮件服务器处理的域。

被视为垃圾邮件: 您的电子邮件消息可能已被路由到垃圾邮件文件夹,甚至更糟,直接被丢弃为恶意邮件。您可以使用一些措施来说服收件人的邮件服务器,表明您的邮件是合法的,应该按地址递送。

SPF: (发件人策略框架)这是最常用的反垃圾邮件措施。如果您在托管系统上,您的主机很有可能已经为您正在使用的邮件服务器设置了此项。让WordPress给您发送电子邮件,并检查邮件头以获取邮件通过SPF检查的证据。您可以通过登录页面的“忘记密码”链接来发送邮件。要保留您的旧密码,请不要点击邮件中的链接。
如果您的系统邮件未能通过SPF检查,如果您有权访问您的DNS记录并且您的邮件服务器域属于您,您可以设置凭证。检查您的系统发送的电子邮件的返回路径。如果列出的邮件服务器包含您的域名,您可以设置SPF凭证。互联网上有一些操作指南。

DKIM: (域名密钥识别邮件)此系统也用于此。您可以在同一邮件中同时使用SPF和DKIM。同样,与SPF一样,您可以通过检查邮件头来查看您的接收邮件服务器是否验证了您主机的域名密钥。很有可能没有提供签名密钥,这表明您的主机选择不使用此协议。此外,与SPF一样,如果您可以编辑DNS记录并且邮件服务器属于您的域名,您可以自己设置DKIM凭证。如果您在互联网上搜索,会找到一些操作指南。

为什么我无法看到我的文章?我只看到“抱歉,没有文章符合您的条件”?

清除浏览器缓存和Cookie可能会解决此问题。 另请参阅 我做了更改但没有生效

如何解决“Headers already sent”警告问题?

描述: 您的浏览器上显示了一条警告消息,内容为:

Warning: Cannot modify header information - headers already sent by
(output started at

原因和解决方案

这通常是因为在起始的<?php标签之前或结束的 ?>标签之后存在空格、换行符或其他内容,尤其是在wp-config.php文件中。这也可以发生在其他非主题模板的已编辑PHP文件中,因此请检查错误消息,因为它会列出发生错误的具体文件名(请参阅下方的“解释错误消息”)。将有问题的 文件替换为最近备份中的文件或全新WordPress下载中的文件是您最好的选择,但如果这两种方法都不可行,请按照以下步骤操作。

仅仅因为您看不到任何东西,并不意味着PHP也看不到。

  1. 通过 FTP 或主机控制面板中提供的文件管理器下载错误消息中提到的文件。
  2. 使用纯文本编辑器打开该文件(不要使用Microsoft Word或类似软件。记事本或BBEdit都可以)。
  3. 检查开始的字符,确保其后面没有空行或空格。
  4. 在保存之前,或使用“另存为”对话框,确保文件编码不是UTF-8 BOM,而是纯粹的UTF-8或任何不带BOM后缀的编码。

为确保文件末尾正确,请执行以下操作:

  1. 将光标放置在 ? 和 > 之间
  2. 现在按下电脑上的DELETE键 Mac用户注意:PC上的“DELETE”键是删除光标右侧的字符。此处指的是这个键。
  3. 持续按住该键
  4. 至少15秒
  5. 现在输入 > 然后
  6. 保存,期间不要按任何其他键。
  7. 如果您按下其他键,问题将再次出现。
  8. 不要将代码放入不必要的代码块中,将它们放在一个PHP块中。

错误

<?php some code; ?> <?php some other codes; ?> 

正确

<?php code; some other code; ?> 

编辑并保存文件后,将其上传回您的服务器。

注意:同时检查文件的编码。如果文件编码为UTF-8 BOM,则BOM被视为一个字符,会启动输出。

解释错误消息

如果错误消息显示:Warning: Cannot modify header information - headers already sent by (output started at /path/blog/wp-config.php:34) in /path/blog/wp-login.php on line 42,那么问题出在wp-config.php文件的第34行,而不是wp-login.php文件的第42行。在这种情况下,wp-login.php文件的第42行是受害者。它受到了wp-config.php文件第34行多余空白字符的影响。

如果错误消息显示:Warning: Cannot modify header information - headers already sent by (output started at /path/wp-admin/admin-header.php:8) in /path/wp-admin/post.php on line 569,那么问题出在admin-header.php文件的第8行,而不是post.php文件的第569行。在这种情况下,post.php文件的第569行是受害者。它受到了admin-header.php文件第8行多余空白字符的影响。

为什么我的“发布”或“保存草稿”按钮不工作?

要解决此问题及类似问题,请逐个停用插件,直到找到问题的根源。通常,这可能是由于两个或更多插件尝试使用相同的资源(例如,JQuery或其他基于Java的工具)造成的。

此外,可能是您的浏览器有问题。一个常见的解决方法是清空浏览器缓存。请查阅您偏好浏览器的文档以了解如何操作。

如果在使用美化固定链接选项(例如“日期和名称”,在管理 > 设置 > 设置_固定链接屏幕中)时发生404错误,这可能是因为mod_rewrite模块未激活/安装。解决方案是为Apache Web服务器激活mod_rewrite。检查apache\conf\httpd.conf文件,查找行# LoadModule rewrite_module modules/mod_rewrite.so
并删除该行前面的#。然后停止Apache并重新启动。注意:您可能需要请求您的主机激活mod_rewrite。

另请参阅 使用固定链接。 相关讨论帖是 https://wordpresstheme.cn/support/topic/234726

编辑文章时,为什么管理员用户未被列为作者?

不确定为什么会出现这个问题,但这里有两种解决方案可以尝试。

这通常能解决问题

  1. 创建具有管理员角色的新管理员用户(例如 newadmin)
  2. 以“newadmin”身份登录
  3. 将旧的“admin”用户降级为订阅者角色并保存
  4. 将旧的“admin”用户重新提升为管理员角色并保存
  5. 以旧的“admin”身份登录

如果这不起作用,请尝试

  1. 创建具有管理员角色的新管理员用户(例如 newadmin)
  2. 以“newadmin”身份登录
  3. 删除旧的“admin”用户并将所有文章分配给“newadmin”
  4. 创建具有管理员角色的“admin”用户
  5. 以“admin”身份登录
  6. 删除“newadmin”用户并将文章分配给“admin”

为什么博客文章显示了错误的作者名称?

这个问题通常可以通过与此问题前一个问题中提出的解决方案相同的方法来解决
编辑文章时,为什么管理员用户未被列为作者?

如何寻求更多帮助?

除了这些常见问题之外,还有各种资源可以帮助您找到更多关于WordPress的帮助。

这篇文章有帮助吗?如何改进?

首次发布

最后更新