常见问题故障排除


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

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

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

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

方法 1:使用 phpMyAdmin 停用所有插件

如果您熟悉 phpMyAdmin,可以使用此方法直接在数据库中停用所有插件。如果您不熟悉 phpMyAdmin,请向主机提供商寻求帮助,或参阅其文档。

登录 phpMyAdmin: 通过您的虚拟主机控制面板访问 phpMyAdmin。

选择您的 WordPress 数据库: 在左侧面板中,点击您的 WordPress 网站所使用的数据库。

找到 wp_options :在表列表中找到 wp_options 表。此表包含 WordPress 网站的各种配置选项。

找到 active_plugins :在 wp_options 表中,找到 option_name 列标记为 active_plugins 的行。此行包含当前处于活动状态的插件信息。

更改 option_value 字段:在 active_plugins 行的 option_value 列中,将值更改为:
a:0:{}
这将停用网站上的所有插件。
如果您不确定如何编辑该值,可以点击该行上的 “编辑”,然后将 option_value 字段中的值替换为 a:0:{}

保存更改:更改值后,点击 “执行” 以保存更改。现在所有插件都将被停用。

注意: 如果您不熟悉 phpMyAdmin,可能需要联系主机提供商或开发人员,以获得使用此工具的帮助。

方法 2:使用 FTP 或文件管理器停用所有插件

此方法通过重命名 plugins 文件夹来停用插件,可以保留插件设置,但需要手动重新激活插件。

访问网站文件: 使用 FTP(通过 FileZilla 等客户端)或主机提供商的文件管理器,导航到 WordPress 网站的 wp-content 目录。

重命名 plugins 文件夹: 在 wp-content 文件夹中找到 plugins 文件夹,将其重命名为 plugins.hold 之类的名称。这将停用所有插件。

登录 WordPress: 现在尝试登录 WordPress 管理页面(/wp-admin/plugins.php)。WordPress 将显示插件缺失的消息,从而有效地停用这些插件。

将文件夹改回原名: 登录后,使用 FTP 或文件管理器将 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 is locked against change”、“Can’t find file tbl_name.MYI (Errcode: nnn)”、“Unexpected end of file”、“Record file is crashed”或“Got error nnn from table handler”。

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

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

请记住,始终保留数据库的最新备份是明智之举。另请参阅 WordPress 备份

如何清空数据库表?

参阅清空数据库表

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

描述: 用户尝试在博客上注册,或输入用户名和/或电子邮件更改密码时,WordPress 会提示密码已通过电子邮件发送给他们,但他们始终收不到。

原因和解决方案: WordPress 使用标准的 PHP mail() 函数,该函数使用 sendmail。不需要账户信息。如果您使用主机服务,这通常不是问题;但如果您使用自己的服务器且没有 SMTP 服务器,邮件将永远无法发送。如果您使用 *NIX 服务器,机器上应安装 postfix 或 sendmail;您只需进行设置(可在互联网上搜索教程)。如果您不想在 *NIX 服务器上设置完整的邮件服务器,可以考虑使用 msmtp ——它提供了一种“将邮件从系统安全、高效且简单地发送到邮件中转站的方法”。在 Windows 机器上,可以尝试使用类似 Glob SendMail 的 sendmail 模拟器。

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

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

确保使用正确的返回地址: 默认情况下,WordPress 邮件程序会将 From: 字段填写为 [email protected],并将 From: 名称填写为 WordPress

如果这是有效的电子邮件地址,这样做没有问题。例如,如果您的真实电子邮件地址是 [email protected],主机应将邮件转发以进行投递。只要 yourdomain.com 已设置为收发邮件,即使 wordpress 不是有效邮箱,它也很可能会发送您的邮件。但如果您将真实电子邮件设置为 From: 地址,而它类似于 [email protected],邮件可能无法发送,因为 gmail.com 不是邮件服务器处理的域。

被视为垃圾邮件: 您的电子邮件可能已被转到垃圾邮件文件夹,甚至更糟糕的是,被直接作为恶意邮件丢弃。您可以采取一些措施,让收件人的邮件服务器相信您的邮件是合法的,并应按地址投递。

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

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

为什么我看不到自己的文章?我看到的只有抱歉,没有文章符合您的条件

清除浏览器缓存和 Cookie 可能会解决此问题。 另请参阅 我进行了更改,但没有任何反应

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

描述:您在浏览器中收到一条警告消息:

警告:无法修改标头信息 - 标头已经发送
(输出开始于

原因和解决方案:

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

看不见任何内容并不意味着 PHP 看到的也是一样的。

  1. 通过FTP或主机控制面板提供的文件管理器下载错误消息中提到的文件。
  2. 纯文本编辑器中打开该文件(不要使用 Microsoft Word 或类似软件。Notepad 或 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; ?> 

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

注意:还要检查文件编码。如果文件编码为带 BOM 的 UTF-8,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 错误?

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

另请参阅 使用固定链接。 相关讨论主题:https://wordpress.org/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 的更多帮助。