分类: 学习

  • 如何修复MySQL数据库1064错误

    错误类型:
    数据库错误
    错误名称:
    MySQL 1064错误
    英文名称:
    MySQL Error 1064
    错误描述:
    MySQL 1064错误是语法错误。这意味着出现问题的原因是MySQL不明白您要它做什么。但是,有许多不同的情况会导致您和您的数据库之间出现这种类型的错误通信。

    如何修复MySQL数据库1064错误

    如果您已经使用WordPress一段时间了,您可能已经决定进入更高级的数据库管理。这通常涉及使用MySQL命令行,这反过来又会导致令人困惑的问题,例如MySQL 1064错误。

    幸运的是,虽然解决此错误可能由于其许多潜在原因而一开始令人困惑,但其解决方案往往相对简单。一旦您确定了您所看到的数据库错误背后的原因,您应该能够相当快地修复它。

    在这篇文章中,我们将介绍导致MySQL 1064错误的各种可能原因。然后,我们将针对每种常见情况分享解决方案,以帮助您恢复数据库和站点并使其正常运行。

    1. 为什么会出现MySQL 1064错误
    2. 如何修复MySQL 1064错误

    为什么会出现MySQL 1064错误

    MySQL 1064错误是语法错误。这意味着出现问题的原因是MySQL不明白您要它做什么。但是,有许多不同的情况会导致您和您的数据库之间出现这种类型的错误通信。

    最简单的原因是您在输入命令时犯了一个错误,而MySQL无法理解您的请求。或者,您可能正在尝试使用无法读取的过时甚至过时的命令。

    在其他情况下,您可能试图在您的命令之一中包含“保留字”。保留字是只能在MySQL中的特定上下文中使用的术语。如果您尝试以其他方式使用它们,则会遇到错误。

    您的数据库中也可能缺少某些数据。当您通过MySQL发出引用数据的请求时,您还会看到1064错误。最后,将您的WordPress数据库转移到另一台服务器也可能导致同样的问题。

    如您所见,导致此问题的潜在原因有很多,这使得解决起来很棘手。除非您正在移动数据库或采取其他指向特定原因的操作,否则您可能需要尝试几种不同的解决方案,然后才能找到正确的解决方案。幸运的是,它们都不太难执行,我们将在接下来看到。

    如何修复MySQL 1064错误

    如果您已经知道导致MySQL 1064错误的原因,您可以直接跳到针对您的特定情况的解决方案。但是,如果您不确定错误发生的原因,最简单的策略是先尝试最简单的解决方案。

    在这种情况下,我们建议按以下顺序测试五个最可能的修复。

    1. 更正错误输入的命令

    MySQL拼写错误的好处在于,它们是对1064错误等语法问题的最简单解释。不幸的是,它们也可能是最乏味的纠正。一般来说,您最好的选择是手动校对您的代码并查找您可能犯的任何错误。

    我们建议您在这样做时使用MySQL手册作为参考,仔细检查您不确定的任何内容。正如您可能想象的那样,这会变得非常耗时,尤其是如果您已经在MySQL命令行中工作了一段时间,或者您不熟悉这项任务。

    手动检查工作的另一种方法是使用EverSQL等工具:

    EverSQL语法检查器

    EverSQL语法检查器

    使用此解决方案,您只需输入您的 MySQL 即可自动检查错误。但是,请记住,这些平台并不总是完美的,您可能仍希望自己验证结果。

    2. 替换过时的命令

    随着平台的发展和变化,一些过去有用的命令被更有效的命令所取代。MySQL也不例外。如果您在最近更新后处理数据库或在工作期间引用了过时的源,则您的一个或多个命令可能不再有效。

    您可以使用MySQL参考手册检查是否是这种情况。您会在相关部分中找到每个MySQL版本已过时的命令的提及:

    手动删除过时的命令

    手动删除过时的命令

    一旦确定哪个命令可能导致问题,您可以简单地使用“查找和替换”功能删除过时的命令并添加新版本。例如,如果您正在使用storage_engine并发现它不再有效,您可以简单地用新default_storage_engine命令替换所有实例。

    3. 指定保留字

    在MySQL中,脱离上下文使用保留字会导致语法错误,因为它会被解释为不正确。但是,您仍然可以通过将保留字包含在反引号中来随意使用保留字,如下所示:`select`

    每个版本的MySQL都有自己的保留字,您可以在MySQL参考手册中阅读。如果您认为它可能导致1064错误,快速查找和替换应该使您能够解决此问题。

    4. 添加缺失数据

    如果您最新的MySQL查询尝试引用数据库中的信息但找不到它,您显然会遇到问题。如果上述解决方案均无法解决您的MySQL 1064错误,则可能是时候寻找丢失的数据了。

    不幸的是,这是另一种可能非常乏味且必须手动完成的解决方案。在这种情况下,您可以做的最好的事情是向后工作,从最近的查询开始。检查它引用的每个数据库,并确保存在所有正确的信息。然后继续下一个最近的查询,直到找到丢失一些数据的查询。

    5.使用兼容模式传输WordPress数据库

    这个最终的1064错误解决方案并不像我们列表中的其他解决方案那么简单。但是,如果您要将WordPress站点迁移到新主机或以其他方式将其移动到不同的服务器,则需要采取额外措施以避免导致数据库出现问题。

    最简单的解决方案是使用包含兼容模式的迁移插件,例如WP Migrate DB:

    WordPress插件-WP Migrate DB

    WordPress插件-WP Migrate DB

    这将启用自动检测功能,以确保您的最新站点备份和数据库与多个版本的MySQL兼容。您可以通过导航到Tools > Migrate DB > Advanced Options来访问兼容模式设置:

    WP迁移数据库设置

    WP迁移数据库设置

    在开始站点迁移之前,选中与旧版本MySQL兼容旁边的框。这样,您应该能够避免在此过程中出现任何问题。

    小结

    数据库错误可能会破坏您的计划,甚至可能危及您网站的稳定性。了解如何解决MySQL 1064错误等问题可以帮助您快速做出反应,并最大限度地减少站点的停机时间。

    遇到MySQL 1064错误时,您可以尝试通过五种方法修复它,具体取决于最可能的原因:

    1. 更正错误输入的命令。
    2. 替换过时的命令。
    3. 指定保留字。
    4. 添加缺失数据。
    5. 以兼容模式传输WordPress数据库。
  • 什么是及如何修复401错误

    错误类型:
    HTTP错误
    错误名称:
    HTTP 401错误码
    英文名称:
    HTTP 401 Error
    错误描述:
    401(未授权)状态代码表示该请求尚未应用,因为它缺少目标资源的有效身份验证凭据。生成401响应的服务器必须发送WWW-Authenticate头字段,其中包含至少一个适用于目标资源的质询。
    错误变体:
    “HTTP 401 Error – Unauthorized”
    “401 Unauthorized”
    “Access Denied”
    更多信息

    什么是及如何修复401错误

    尝试访问WordPress站点并遇到错误页面充其量是不方便的,无论该站点是您的站点还是其他站点的站点。与许多HTTP响应代码一样,导致401错误如此令人沮丧的部分原因是缺乏用于诊断和解决问题的信息。

    任何浏览器都可能发生401错误,因此这是人们面临的一个非常普遍的问题。在大多数情况下,此问题相对简单且易于解决。

    当您正在尝试更新WordPress网站,但由于某种原因,您无法访问后台。更糟糕的是,你甚至无法进入WordPress登录页面,而是返回一个401错误。

    HTTP状态401错误意味着浏览器证书的验证问题。在本教程中,我们将解释什么401错误以及导致它的原因。然后,我们将介绍修复401错误的五种方法。

    1. 什么是401错误代码
    2. 什么导致401错误
    3. 如何修复401错误

    什么是401错误代码?

    IETF将错误401 Unauthorized定义为:

    401(未授权)状态代码表示该请求尚未应用,因为它缺少目标资源的有效身份验证凭据。生成401响应的服务器必须发送WWW-Authenticate头字段,其中包含至少一个适用于目标资源的质询。

    在某些时候,您可能尝试登录WordPress并意外提交了错误的凭据。发生这种情况时,您会看到一个错误页面,让您知道自己犯了一个错误,但您仍然可以通过重新输入正确的用户名和密码来获得访问权限。

    401错误与此类似,因为它涉及您尝试使用错误的凭据访问网站,但级别更高。如果您的浏览器没有通过您网站的服务器正确验证,您甚至无法进入WordPress登录页面。

    发出请求时遇到问题时会遇到HTTP 400状态代码。尤其是当您的浏览器拒绝您访问您尝试访问的页面时,会发生401错误。

    结果,浏览器将加载错误消息而不是加载网页。401错误可能发生在任何浏览器中,因此显示的消息可能会有所不同。

    例如,在Chrome或Edge中,您可能会看到一个纸质图标以及一条简单的消息,告诉您相关页面无法正常工作。它将在底部包含短语“HTTP Error 401”,并指示您在问题仍然存在时联系该站点的所有者:

    Chrome中的401错误

    Chrome中的401错误

    在其他时间和其他浏览器中,您可能会收到一个不太友好的警告,它只是一个带有“401 Authorization Required”消息的空白页面:

    Nginx服务器401 Authorization Required错误消息

    Nginx服务器401 Authorization Required错误消息

    其他变体包括:

    • “HTTP 401 Error – Unauthorized”
    • “401 Unauthorized”
    • “Access Denied”

    这些错误发生在需要登录才能访问的网站上。在大多数情况下,这意味着凭据或浏览器将其读取为有效的能力有问题。

    这类似于HTTP 403 Forbidden Error,因为用户不允许访问。但是,与 403 错误不同,401 错误消息表明身份验证过程失败。

    该代码通过WWW-Authenticate标头发送,该标头负责识别用于授予对网页或资源的访问权限的身份验证方法。

    401 Authorization Required错误意味着您可以尝试使用正确的凭据再次访问资源。换句话说,这通常是一个临时问题,与HTTP 403 错误不同,在这种错误中,您被明确禁止访问您希望访问的页面。

    在某些情况下,401错误会自行消失,要求再次访问您的网站。但是,即使是短暂地被锁定在您的网站之外也很不方便。您可以采取行动更快地到达后端,而不是坐在那里希望您的浏览器能够解决问题。

    什么导致401错误?

    如果您在400秒中遇到错误代码,您就知道您正在处理客户端(或浏览器端)问题。虽然这个问题可能您的浏览器内发生的事情,但是,这并不一定总是 意味着是罪魁祸首,我们将在后面详细解释。

    401错误发生在受限资源上,例如WordPress网站的受密码保护的页面。因此可以安全地假设问题的原因与身份验证凭据有关。

    过时的浏览器缓存和Cookie

    您可能会遇到401错误的最常见原因之一是浏览器的缓存和cookie已过期,从而导致授权无法成功通过。如果您的浏览器没有使用有效的身份验证凭据(或根本没有),服务器将拒绝该请求。

    插件不兼容

    在其他时候,此错误是由插件不兼容或错误引起的。例如,防火墙或安全插件可能会将您的登录尝试误认为恶意活动,并返回401错误以保护页面。

    问题的根源也可能是由一个小错误造成的。此类别中的常见罪魁祸首包括错误键入的URL或过时的链接。

    如何修复WordPress网站401错误

    401错误的主要问题是它有多种潜在原因。这使得很难知道哪个正在影响您的浏览器。考虑到这一点,我们将讨论几种可能的修复方法,以便您可以解决它们。

    1. 刷新域名系统 (DNS) 记录

    在许多情况下,您的计算机会存储有关您最常访问的IP地址和URL的数据。这样,它可以更快地处理未来的请求。

    刷新您的DNS涉及从您的计算机中删除所有临时数据。这样,下次您尝试访问有问题的URL时,它会发出一个全新的请求并重新进行身份验证。

    刷新DNS的过程因操作系统 (OS) 而异。如果您是Windows用户,只需打开命令提示符并键入 ipconfig/flushdns  命令:

    刷新DNS

    Windows将返回一条成功消息,您可以再次尝试访问您的网站。

    Mac用户需要遵循类似的过程,但您需要在终端中输入的命令因您运行的 OSX 版本而异。最近三个迭代(Sierra、High Sierra 和 Mojave)的用户可以使用sudo killall -HUP mDNSResponder

    参考阅读:如何清除/刷新DNS缓存(Windows,Mac,Linux)

    2. 清除防火墙和浏览器缓存

    浏览器还可以存储数据,因此它们不必每次访问网站时都从头开始加载。此过程称为缓存。在某些情况下,您可能无意中存储了错误的登录信息。

    如果这是401错误的根源,修复它很简单。大多数现代浏览器都可以让您在几分钟内清除缓存。例如,使用Chrome,您可以进入“设置”>“高级” 并查找“清除浏览数据” 选项:

    清除浏览数据

    然后您可以指定您希望浏览器删除哪些数据。选择缓存的图像和文件 选项 ,然后单击清除数据 按钮:

    清除缓存的图像和文件

    尝试再次访问您的网站。如果问题仍然存在,则错误可能是由于防火墙的缓存(如果您正在使用)。

    在某些情况下,您的防火墙可能无法与您的服务器通信,从而导致身份验证错误。解决此问题的过程将取决于您使用的工具。

    如果您是Cloudflare用户,则可以访问仪表板并导航到缓存 选项卡。在里面,你会找到一个Purge Everything选项 ,其中包括防火墙的整个缓存:

    清除CDN缓存

    清除防火墙的缓存不会影响其功能。最坏的情况是,您下次访问您的网站时可能会遇到更长的加载时间,但这应该会在您的缓存重建后自行解决。

    如果您使用不同的防火墙工具,您需要查看其文档并检查它是否允许您手动清除缓存。对于某些服务,您可能需要联系支持人员。

    3. 检测WordPress插件和主题之间的冲突

    与WordPress插件和主题的兼容性问题有时会触发401错误。如果您有权访问仪表盘,则停用任一元素以确定冲突来源很简单。

    只需单击任何插件名称下的停用

    插件停用

    对于您的主题,切换到WordPress默认设置,例如二〇一九或二〇二一。然后您可以一个一个地重新激活每个插件并等待问题再次发生。您应该能够缩小有问题的元素。

    但是,401错误可能会阻止您访问仪表板。这意味着,要禁用插件和主题,您需要使用文件传输协议 (FTP)和FTP客户端,例如FileZilla

    连接到服务器后,导航WordPress安装目录下的public_html>wp-content>plugins

    FTP停用插件

    然后,通过右键单击每个插件的文件夹来重命名它。像plugin-name _disabled这样简单的东西就可以了。这将阻止WordPress定位这些文件夹。

    禁用插件后,再次访问您的网站。如果401错误消失,则意味着一个或多个元素之间的不兼容是根本原因。

    然后您可以返回FileZilla将您的插件名称改回。在每个站点之间检查您的站点。当401错误再次出现时,您就会知道最近激活的工具是罪魁祸首。

    禁用主题的工作方式类似。转到wp-content/themes,找到您正在使用的文件夹,然后重命名:

    FTP启用WP默认主题

    将自动激活默认主题以替换它。再次测试您的网站以查看401错误是否仍然存在。如果没有,您的主题可能是问题的一部分,您需要寻找替代方案。

    4. 禁用WordPress目录的密码保护

    调整您的WordPress网站的 .htaccess 文件(没找到该文件?)可以让您实现几个方便的功能。其中之一是密码保护您的WordPress目录,这在您的登录页面之外增加了一层额外的安全性。

    问题是,此级别的密码保护不包括凭据的恢复过程。如果您忘记了它们,您就会被锁定,除非您完全禁用该功能。

    通过FTP可以轻松禁用凭据提示。您可以完全取消密码保护功能,也可以为要访问的目录关闭密码保护功能。

    对于第一种方法,您需要在WordPress根 目录中找到.htaccess 文件 。右键单击它并选择 编辑 选项,这将使用您的默认文本编辑器打开文件:

    .htaccess编辑

    然后,查找如下所示的代码片段:

    ErrorDocument 401 /401.html
    AuthName “Secure Area”
    AuthType Basic
    AuthName “Password Protected Area”
    AuthUserFile /path/to/directory/.htpasswd
    Require valid-user
    ErrorDocument 401 /401.html
    AuthName “Secure Area”
    AuthType Basic
    AuthName “Password Protected Area”
    AuthUserFile /path/to/directory/.htpasswd
    Require valid-user
    ErrorDocument 401 /401.html
    AuthName "Secure Area"
    AuthType Basic
    AuthName "Password Protected Area"
    AuthUserFile /path/to/directory/.htpasswd
    Require valid-user

    完全删除此代码段将禁用所有目录的密码保护。

    此外,每个相关目录都应该有一个名为.htpasswd的第二个文件删除它也会删除密码保护,但仅限于该特定文件夹。

    无论您决定采用哪种方法,请在进行必要的更改后尝试重新访问您的网站。如果这不起作用,则401错误的根源可能在更高的位置。

    5. 联系服务器提供商

    如果其他一切都失败了并且401错误持续了一段时间而没有自行解决,那么最好的办法是与您的服务器提供商取得联系。在此阶段,您已经尝试了所有其他方法,这意味着可能是与服务器相关的问题导致了问题。

    您的提供商的支持团队可以使用更好的诊断工具,这意味着他们可以帮助您将问题的原因归零。然而,处理工单可能需要一段时间,这就是为什么明智之举是首先尝试自己解决401错误。

    小结

    在您的日常网络浏览中遇到错误并不少见。通常,这没什么大不了的。但是,当向您发送401错误代码的网站是您自己的网站时,情况就变得很严重了。除非您设法对其进行故障排除,否则您可能会发现自己被锁定了很长一段时间。

    有很多方法可以解决WordPress网站上的HTTP 401错误。一些方法包括:

    1. 刷新您的DNS记录。
    2. 清除防火墙和浏览器缓存。
    3. 测试WordPress插件和主题之间的冲突。
    4. 禁用WordPress目录的密码保护。
    5. 联系服务器提供商协助解决。
  • 如何修复“无法访问此站点”错误

    错误类型:
    浏览器错误
    错误名称:
    无法访问此站点
    英文名称:
    This Site Can’t Be Reached
    错误描述:
    “无法访问此站点”错误如此令人沮丧的原因之一是Chrome可能不清楚导致它的原因。此外,该消息可能与各种错误代码一起出现。
    错误变体:
    ERR_CONNECTION_RESET
    DNS_PROBE_FINISHED_NXDOMAIN
    更多信息

    如何修复“无法访问此站点”错误

    每个人在浏览网页时都会偶尔遇到错误。一些错误代码,例如Error 404,很容易理解。但是,诸如“无法访问此站点”之类的其他内容要模糊得多,并且不提供有关如何修复它们的任何信息。

    Google Chrome中出现“无法访问此站点”错误的潜在原因有多种。了解这些原因将帮助您决定使用何种故障排除方法,以便您可以访问您需要的网站。

    在本文中,我们将讨论导致“无法访问此站点”问题的原因。然后我们将介绍五种方法来解决它。

    1. 什么原因导致“无法访问此站点”错误
    2. 如何修复“无法访问此站点”错误

    什么原因导致“无法访问此站点”错误

    “无法访问此站点”错误如此令人沮丧的原因之一是Chrome可能不清楚导致它的原因。此外,该消息可能与各种错误代码一起出现。

    例如,如果您遇到DNS_PROBE_FINISHED_NXDOMAIN错误,您可以获得该通知:

    Chrome中的DNS_PROBE_FINISHED_NXDOMAIN错误

    Chrome中的DNS_PROBE_FINISHED_NXDOMAIN错误

    如果您的连接超时或遇到ERR_CONNECTION_RESET代码,也会出现相同的错误消息:

     

    Chrome中的超时连接错误

    Chrome中的超时连接错误

    显然,Chrome使用“无法访问此站点”消息作为对许多错误的全面描述。总的来说,最常见的原因是:

    • 域名系统 (DNS)解析错误
    • 超时的连接
    • 您的互联网连接全面失败
    • 错误配置的互联网、网络或防火墙设置

    尽管Chrome确实会在每个错误屏幕中提出一些修复建议,但您可以通过更多方法来解决此问题。

    如何修复“无法访问此站点”错误

    在本节中,我们将引导您通过五种方法(从最简单到最复杂)来解决“无法访问此站点”错误。让我们从最简单的修复开始,其中包括检查您的连接。

    1. 重新启动您的Internet连接

    即使您有可用的Internet连接,如果出现任何类型的错误,也会出现“无法访问此站点”错误。尽管听起来可能过于简单,但重新启动路由器或调制解调器通常可以快速解决此问题。

    由于重新启动连接通常只需要一两分钟,这是您应该尝试的第一个解决方案。大多数互联网服务提供商 (ISP) 会建议断开路由器的电源线并等待一整分钟,然后再重新连接。重新打开后,等待您的互联网连接重置,然后尝试重新访问该网站。

    2. 禁用防火墙和防病毒软件

    在许多情况下,您操作系统 (OS) 的内置防火墙(或您使用的任何软件)可以主动阻止页面并阻止您的计算机与它们建立连接。确定这是否是问题的最简单方法是暂时禁用防火墙和防病毒软件,然后再次尝试访问该站点。

    根据您使用的操作系统,您需要执行一组不同的步骤来禁用内置防火墙。您可以使用以下文章作为指导:

    至于禁用防病毒软件,您的设置将取决于您使用的工具。根据我们的经验,除非网站真的很危险,否则防火墙很少会阻止您加载网站。

    如果禁用防火墙和防病毒软件不起作用,那么是时候尝试不同的方法了。在继续之前不要忘记重新激活两者。

    3. 清除浏览器缓存

    在您浏览网页时,Chrome 会存储您访问的网站中的大量数据和文件。您的浏览器将这些文件存储在本地缓存中,因此您不必每次访问它们时都重新加载完整的站点。

    在某些情况下,由于缓存文件存在问题,您可能会遇到“无法访问此站点”错误。要解决该问题,您需要清除浏览器缓存

    假设您使用的是Chrome,您可以通过转到设置 > 隐私和安全 > 清除浏览数据并选择缓存图像和文件选项来实现:

     

    清除Chrome中缓存的图像和文件

    清除Chrome中缓存的图像和文件

    单击清除数据,就是这样。等待Chrome完成它的工作,然后尝试重新加载之前给您带来问题的网站。

    4. 刷新你的DNS缓存

    您的操作系统存储了您访问的网站的大量数据。它还将他们的IP地址存储在我们所说的“DNS 缓存”中。这样,无论何时您想建立连接,您的浏览器都不必通过其DNS服务器查找相同的IP 。如果这听起来很熟悉,那是因为DNS缓存的工作方式与您的浏览器缓存类似,只是它存储不同类型的数据。

    这是一个很棒的功能,可以节省每个用户的时间。但是,如果您的操作系统缓存网站的过时信息,也可能导致错误。在这种情况下,您需要“刷新”或重置您的 DNS 缓存。

    刷新您的DNS缓存比听起来简单得多。我们有关于在所有主要操作系统和浏览器上刷新DNS缓存的完整教程,因此请继续查看。如果这不起作用,您可能需要更改DNS服务器,我们将在下一节中介绍。

    5. 更改您的DNS服务器

    您的ISP会自动为您的连接分配DNS服务器。但是,您可以将Internet设置配置为使用一组特定的DNS服务器。

    在Windows中,您可以通过导航到控制面板 > 网络和Internet > 网络和共享中心,然后选择更改适配器设置选项来执行此操作:

     

    更改网络适配器设置

    更改网络适配器设置

    在下一个屏幕上,右键单击您的活动Internet连接并选择属性。在出现的列表中,选择Internet Protocol Version 4 (TCP/IPv4),然后再次单击属性

     

    更改活动连接的属性

    更改活动连接的属性

    将弹出一个新屏幕,其中包括一个可让您设置自定义DNS服务器地址的部分。您可以使用下面屏幕截图中的两个字段来输入要使用的DNS服务器地址:

     

    修改您的DNS服务器设置

    修改您的DNS服务器设置

    在屏幕截图中,我们使用了Google的公共DNS地址,即“8.8.8.8”和“8.8.4.4”。但是,您可以使用许多出色的免费DNS服务器

    如果您使用的是macOS,您可以通过导航到System Preferences > Network,选择您的网络,然后单击Advanced来更改您的DNS设置。接下来,跳转到DNS选项卡:

     

    macOS网络设置的DNS选项卡

    macOS网络设置的DNS选项卡

    您可以通过单击 ( + ) 图标来添加要使用的自定义DNS服务器。配置新的DNS设置并按OK按钮后,您应该就可以开始了。

    您的互联网连接应该可以正常工作,但“无法访问此站点”错误有望消失。在某些情况下,更改DNS服务器可能会让您更快地加载站点并访问以前无法访问的网站。

    小结

    尽管“无法访问此站点”错误可能很烦人,但排除故障并不难。在大多数情况下,错误来自您的Internet连接或DNS和缓存设置问题。

    如果您遇到“无法访问此站点”消息,这里有五种方法可以从最简单到最复杂的程度进行修复:

    1. 重新启动您的互联网连接。
    2. 禁用防火墙和防病毒软件。
    3. 清除浏览器缓存。
    4. 刷新您的DNS缓存。
    5. 更改您的DNS服务器。
  • 如何修复“您的PHP安装似乎缺少WordPress所需的MySQL扩展”错误

    错误类型:
    PHP错误
    错误名称:
    您的PHP安装似乎缺少WordPress所需的MySQL扩展
    英文名称:
    Your PHP installation appears to be missing the MySQL extension which is required by WordPress
    错误描述:
    此错误意味着您服务器上的PHP没有必要的扩展来将您的WordPress站点连接到其MySQL数据库。

    您的PHP安装似乎缺少WordPress所需的MySQL扩展”错误

    尝试安装WordPress或访问您的WordPress站点时却遇到错误,提示“您的PHP安装似乎缺少WordPress所需的MySQL扩展。”?英文全称为:Your PHP installation appears to be missing the MySQL extension which is required by WordPress。

    与任何WordPress错误消息一样,遇到阻止您使用/访问WordPress站点的问题可能会令人沮丧。

    但是,不要绝望!通常,此错误意味着您网站上的代码出现问题,并且某些原因阻止WordPress能够连接到其MySQL数据库。

    在本文中,我们将讨论“某事”可能是什么,并分享一些有关如何排除故障和修复此错误消息的提示。

    1. 是什么导致WordPress缺少MySQL扩展错误?
    2. 如何修复“您的PHP安装似乎缺少WordPress所需的MySQL扩展”

    是什么导致WordPress缺少MySQL扩展错误?

    正如我们在介绍中提到的,错误消息“您的PHP安装似乎缺少WordPress所需的MySQL扩展”是您服务器上的代码/脚本的一些问题的步骤。

    具体来说,此错误意味着您服务器上的PHP没有必要的扩展来将您的WordPress站点连接到其MySQL数据库。

    出现这种情况的主要原因有两个:

    1. 您使用的是过时版本的WordPress和PHP 7+

    如果您使用的是非常旧版本的WordPress和现代版本的PHP,您可能会遇到此错误,因为PHP 7.0不推荐使用MySQL扩展来支持MySQLi。也就是说,PHP 7+不再包含WordPress正在寻找的MySQL扩展。

    现代版本的WordPress将改为使用较新的PDO_MySQL或MySQLi扩展。但是,较旧版本的WordPress(低于 3.9 版)可能会导致此问题。

    2. 您使用的是PHP 5.6或更低版本,但缺少扩展或配置不正确

    另一个可能的原因是您使用的是PHP 5.6(在 MySQL 扩展被弃用之前),但该扩展丢失或配置不正确。

    如何修复“您的PHP安装似乎缺少WordPress所需的MySQL 扩展”

    现在您知道发生了什么,让我们回顾一些有关如何排除故障和解决问题的提示。

    1. 检查您使用的PHP版本
    2. 更新核心WordPress
    3. 检查是否安装了MySQL扩展
    4. 确保正确配置PHP扩展

    1. 检查您使用的PHP版本

    诊断此问题的第一步是确定您的 WordPress 站点的服务器正在运行哪个版本的PHP。这个问题的答案将决定您接下来要采取的步骤。

    要检查这一点,请使用FTP连接到WordPress站点的服务器。您可以从您的网络主机获取您的FTP凭据,您还需要一个FTP客户端来连接。

    如果您的主机使用cPanel,您可以使用cPanel文件管理器工具。

    连接到服务器后,在WordPress站点的根目录中创建一个名为phpinfo.php的新文件。这应该与包含wp-config.php文件的文件夹相同。

    然后,编辑文件并添加以下代码片段:

    <?phpphpinfo();?>
    <?phpphpinfo();?>
    <?phpphpinfo();?>

    保存文件后(并在需要时重新上传保存的版本),导航到yoursite.com/phpinfo.php,确保将yoursite.com替换为您的实际域名。

    您应该会看到一个屏幕,其中显示了有关服务器上PHP配置的许多不同信息。向下滚动到Core部分并查找PHP Version项。注意数字——你应该看到类似xxx 的东西。例如7.2.255.6.8

    如何检查您的WordPress网站的PHP版本

    如何检查您的WordPress网站的PHP版本

    如果您的PHP版本以“7”开头,则通常意味着您需要更新WordPress软件。另一方面,如果您仍在使用PHP 5.X,您可能会缺少MySQL扩展。

    注意 – 我们强烈建议使用最新版本的PHP。事实上,我们不支持PHP 7.4以下的版本。这些旧版本的性能较慢,并且由于它们不再接收安全更新,因此可能对您的站点构成安全风险。

    2. 更新核心WordPress

    如果您的服务器使用的是PHP 7+,则此错误的最可能原因是您运行的是旧版本的WordPress。如果您使用WordPress 3.9或更低版本,则可能会触发此错误。

    因此,修复方法是更新您的WordPress软件,该软件还将带来许多其他功能、安全性和性能改进。

    要手动升级您的WordPress版本,首先,请确保您有网站的备份版本。然后,转到WordPress.org并下载最新的WordPress副本。

    下载后,将zip文件解压缩到您的计算机。然后,打开包含所有WordPress文件的文件夹并删除以下项目:

    • wp-config-sample.php文件。
    • wp-config.php文件(您可能看不到这个文件-只需确保删除它,如果它的存在)。
    • wp-content的文件夹。

    删除这些项目后,通过FTP将剩余的文件/文件夹上传到您的服务器。当您的FTP客户端提示重复文件时,告诉它覆盖所有文件:

    通过覆盖现有文件重新安装WordPress

    通过覆盖现有文件重新安装WordPress

    文件上传完成后,您的WordPress站点应该运行最新版本,并且您的问题应该得到解决。

    作为后续步骤,您还应该确保将所有插件和主题也更新到最新版本。

    3.检查是否安装了MySQL扩展

    如果您的服务器仍在使用PHP 5.6或更低版本,则您的服务器可能缺少WordPress所需的 MySQL 扩展。

    要检查是否是这种情况,请返回您在步骤1中上传到服务器的phpinfo.php文件。

    查找名为mysqlmysqli的部分。

    如果安装了MySQL扩展,您应该会在Client API library version项旁边看到一个版本号:

    如何查看是否安装了WordPress MySQL扩展

    如何查看是否安装了WordPress MySQL扩展

    如果找不到此信息,则表示未安装MySQL扩展。最好的解决方案通常是联系您的主机的支持人员并要求他们为您安装它。

    注意– 我们再次强烈建议不要使用低于7.4的PHP版本,因为它们不再接收安全更新并且性能不如新版本。

    除非您绝对必须继续使用PHP 5.6或更低版本,否则更好的解决方案是将您的服务器升级到PHP 7.4+,而不是花时间正确配置旧版本的PHP。您可以按照我们的指南了解如何更新WordPress站点的PHP版本

    4. 确保PHP扩展配置正确

    如果您使用的是 PHP 5.6 或更低版本并且安装了扩展,则问题可能是它没有正确配置。两个常见的问题是:

    • 在使用 Linux 服务器时上传用于 Windows 服务器的php.ini文件
    • 文件路径不正确。

    您可以在之前创建的phpinfo.php文件中找到php.ini文件的位置:

    如何找到WordPress php.ini文件路径

    如何找到WordPress php.ini文件路径

    首先,我们建议通过将现有文件下载到您的本地计算机来备份它。然后,尝试删除php.ini文件,看看是否能解决问题。

    小结

    “您的PHP安装似乎缺少WordPress所需的MySQL扩展”消息是一个令人沮丧的错误,因为它看起来非常技术性。

    但是,通过本文中的步骤,您应该能够诊断并修复问题。

    我们推荐的解决方案是确保您使用的是最新版本的PHP和WordPress。

    如果您使用PHP 7.4+和WordPress 5.0+,您应该能够自动修复此错误并使您的站点重新运行,同时还可以从更新带来的所有其他性能、安全性和功能增强中受益。

  • 如何修复WordPress内容更新和发布失败错误

    错误类型:
    WP内部错误
    错误名称:
    更新失败或者发布失败
    英文名称:
    Updating Failed or Publishing Failed Errors
    错误描述:
    “发布或者更新失败”错误有几种不同的原因,但其中一个特别与区块编辑器有关。新的WordPress编辑界面依赖REST API来创建、保存和发布文章。如果您网站上的某些内容阻止或禁用了此过程,您将无法启动新内容。

    如何修复WordPress更新和发布失败错误

    如果您的WordPress网站在您尝试进行更改时返回诸如“更新失败”或“发布失败”之类的错误消息,那么结果不仅令人沮丧,而且还会阻止访问者访问他们需要的内容。

    幸运的是,有一些常见的原因和解决方法可以帮助您在遇到此问题时解决它。通过一些故障排除,您应该立即恢复到您的常规发布时间表。

    在本文中,我们将讨论导致WordPress内容“更新失败”和“发布失败”错误的原因。然后我们将解释您可以修复或解决问题的四种方法,以便为读者提供您的内容。

    1. 为什么WordPress有时无法更新或发布内容
    2. 如何修复WordPress更新失败和发布失败错误

    为什么WordPress有时无法更新或发布内容

    区块编辑器已经存在一段时间了。然而,它仍然受到不同的反应,而且WordPress用户也可能因此面临新的挑战和错误。

    一个这样的问题是在WordPress编辑器中显示“发布失败”的消息:

    区块编辑器中的发布失败错误

    区块编辑器中的发布失败错误

    单击蓝色的“发布” 按钮后可能会出现此消息,以尝试使您的内容生效。此错误的一个变体是“更新失败”消息,当您尝试对已发布的文章或页面进行更改时,可能会显示该消息:

    在区块编辑器中更新失败错误

    在区块编辑器中更新失败错误

    可以想象,这个问题对于博主以及任何发现自己需要更新其网页上的关键信息的网站所有者来说可能是一个特别令人沮丧的问题。

    “发布失败”错误有几种不同的原因,但其中一个特别与区块编辑器有关。新的WordPress编辑界面依赖REST API来创建、保存和发布文章。如果您网站上的某些内容阻止或禁用了此过程,您将无法启动新内容。

    如果您是初学者或技术水平较低的用户,任何提及REST API的内容似乎都令人生畏。但是,在这种情况下,无需担心。

    为了解决“发布失败”错误,您需要了解的只是REST API是区块编辑器与WordPress通信的方式。

    当此通信中断或禁用时,块编辑器的发布功能将中断。如果这是导致您网站上出现错误的原因,您需要让REST API再次工作以修复它。

    如何修复WordPress更新失败和发布失败错误

    一旦了解了WordPress内容无法更新或发布的原因,解决问题就会变得更容易。您可以采取以下四个步骤来解决您网站上的此问题。

    步骤 1:确定REST API是否被拦截

    WordPress中“发布失败”错误的一个常见原因(因为区块编辑器已启动)是REST API被拦截或禁用。如果您看到此消息,开始故障排除的明智方法是测试REST API以确保其正常工作。

    您可以在WordPress中使用Site Health工具直接执行此操作。要访问它,请导航到工具>站点健康

    访问WordPress中的站点运行状况工具

    访问WordPress中的站点运行状况工具

    在“状态” 选项卡下,WordPress 将列出您的安装存在的所有问题。如果REST API被拦截,您将看到以下消息:

    “The REST API encountered an unexpected result.

    The REST API is one way WordPress and other applications communicate with the server. One example is the block editor screen, which relies on this to display and save your posts and pages.”

    站点运行状况工具还将显示产生“意外结果”的特定错误。这可能是“ 401未授权”响应、操作超时、“403 Cookie Nonce Is Invalid”消息或其他错误。

    您应该如何解决此问题并再次启用REST API将在某种程度上取决于您在此处看到的错误。

    步骤 2:通过解决指定的错误重新启用REST API

    理想情况下,站点运行状况工具将提供有关如何在WordPress站点上重新启用REST API的一些指示。一些常见的解决方案包括:

    • 检查Cloudflare是否拦截了REST API 如果您是Cloudflare用户,您的防火墙可能会无意中阻止合法请求。检查您的规则集以确定REST API是否被拦截,并根据需要禁用规则以使其通过。
    • 确保插件不会阻止或禁用REST API。 某些插件也可能会拦截REST API。一次性禁用所有插件可以帮助您确定哪个插件(如果有)导致了问题。然后,您可以删除、替换或更改该插件的设置以再次启用REST API。安全和性能优化插件是常见的罪魁祸首。
    • 通过.htaccess 文件使用REST API验证您的WordPress站点 REST API要求您的网站在连接之前对其进行身份验证。如果您的站点没有这样做,您可以对.htaccess文件进行小幅编辑以解决此问题。
    • 确定问题是否与服务器有关。 一些用户发现他们在Windows服务器上运行WordPress时遇到了这个问题。您需要编辑您的web.config文件来修复它。

    大多数情况下,插件和防火墙应用程序是问题的根源,因此在那里开始故障排除尝试是明智的。

    很有可能,您将能够在WordPress中找到导致“发布失败”错误的工具并禁用它或更改其设置以解决问题。

    步骤 3:启用调试模式以搜索错误

    如果您无法使用步骤2中列出的解决方案之一重新启用REST API,您可以尝试打开WordPress的调试模式。此功能旨在临时用作故障排除工具。

    激活后,调试模式会将所有PHP响应记录在站点wp-content目录中名为debug.log的文件中。您可以在此文件中搜索可能拦截WordPress连接到REST API并因此阻止发布或更新文章的错误。

    要激活调试模式,请将以下代码添加到wp-config.php 文件中 “/* That’s all, stop editing! Happy blogging. */”行前:

    // Enable WP_DEBUG mode
    define( ‘WP_DEBUG’, true );
    // Enable Debug logging to the /wp-content/debug.log file
    define( ‘WP_DEBUG_LOG’, true );
    // Enable WP_DEBUG mode

    define( ‘WP_DEBUG’, true );

    // Enable Debug logging to the /wp-content/debug.log file

    define( ‘WP_DEBUG_LOG’, true );

    // Enable WP_DEBUG mode
    
    define( 'WP_DEBUG', true );
    
    // Enable Debug logging to the /wp-content/debug.log file
    
    define( 'WP_DEBUG_LOG', true );

    解决错误后,请确保从wp-config.php 中删除此代码。

    步骤 4:安装并激活经典编辑器插件作为临时解决方案

    万一上述步骤对解决WordPres中的“发布失败”错误没有帮助,您可能需要从以下来源之一寻求支持:

    • 如果您认为问题与您的服务器有关,或者您的主机提供WordPress支持,那么您的主机提供商
    • 特定的插件或防火墙应用程序,例如Cloudflare,如果您认为您的站点不可或缺的工具正在拦截REST API,并且您无法自己解决问题。
    • WordPress支持论坛,如果您觉得需要进一步指导,例如不提供用户支持的免费插件。

    当您与相关支持提供商合作解决“发布失败”错误时,您可能希望安装经典编辑器插件作为临时解决方法:

    经典编辑器插件

    经典编辑器插件

    由于TinyMCE编辑器不需要使用REST API来发布或更新文章,您应该能够使用它对您的内容进行必要的更改。

    然而,这只是权宜之计。您仍然需要解决区块编辑器中错误的根本原因,然后重新启用它。

    小结

    无法发布或更新WordPress网站的内容可能是一个严重的问题。幸运的是,这些错误有一些常见的原因,您可以快速排除故障以使事情恢复正常。

    如果您在WordPress区块编辑器中收到“更新失败”或“发布失败”消息,请尝试:

    1. 确定REST API是否被拦截。
    2. 通过解决指定的错误重新启用REST API。
    3. 启用调试模式以搜索错误。
    4. 安装和激活经典编辑器插件作为临时解决方案。
  • 什么是307临时重定向及何时需使用

    错误类型:
    HTTP错误
    错误名称:
    HTTP 307临时重定向
    英文名称:
    307 Temporary Redirect
    错误描述:
    这原则上并不是一个错误。307(临时重定向)状态码表示目标资源临时驻留在不同的 URI 下,如果用户代理执行自动重定向到该 URI,则用户代理不得更改请求方法。由于重定向会随着时间的推移而改变,客户端应该继续使用原始的有效请求 URI 来处理未来的请求。

    什么是307临时重定向及何时需使用

    HTTP协议定义了40多个服务器状态代码,其中9个明确用于URL重定向。每个重定向状态代码都以数字 3 (HTTP 3xx) 开头,并且有自己的处理重定向的方法。虽然它们中的一些是相似的,但它们都以不同的方式处理重定向。

    作为站长,了解您可能遇到的各种超文本传输​​协议 (HTTP) 状态代码非常重要。像“307重定向”这样的其他错误对于确保访问者可以成功访问您的URL(并且您不会受到搜索引擎的惩罚)至关重要。但是,这并不是唯一可用的重定向类型,因此您可能想知道何时适合使用它。

    在这篇文章中,我们将深入介绍HTTP 307临时重定向307内部重定向状态代码,包括它们的重要性以及它们与其他 3xx 重定向状态代码的区别。

    1. 什么是HTTP 307临时重定向?
    2. HTTP 3xx重定向的工作原理
    3. 各种HTTP 3xx重定向
    4. 使用302 vs 303 vs 307进行临时重定向
    5. 了解仅HTTPS站点的HTTP 307内部重定向
    6. HTTP 307重定向和SEO

    什么是HTTP 307临时重定向?

    互联网工程任务组 (IETF) 将307临时重定向定义为:

    307(临时重定向)状态码表示目标资源临时驻留在不同的 URI 下,如果用户代理执行自动重定向到该 URI,则用户代理不得更改请求方法。由于重定向会随着时间的推移而改变,客户端应该继续使用原始的有效请求 URI 来处理未来的请求。

    有数十种HTTP状态代码,分为五个主要类别。例如,遵循“4XX”结构的代码,例如404,是客户端错误。

    HTTP“3XX”是重定向类别。有九种不同类型的重定向。例如,301状态代码用于指示网页何时永久移动。

    重定向状态代码对于搜索引擎优化 (SEO)至关重要。将用户搜索引擎机器人正确路由到适当的 URL 很重要,尤其是当他们移动时。

    307是一种临时重定向。此HTTP响应状态代码意味着某人请求的URL已暂时移动到不同的URI(用户资源标识符),但最终将返回其原始位置。此外,它还告诉搜索引擎您的服务器与HTTP 1.1兼容。

    无需太技术化,307重定向是302重定向的较新版本(或后续版本)。后者可用于临时将用户重新路由到新URL,这在您重新设计网站时会派上用场。

    另一方面,307重定向表示用户请求的 URL 已移动到临时位置,但会返回。302和307之间的主要区别在于请求方法不会随着307状态代码而改变:

    307响应标头

    例如,请求不能从GET更改为POST。它必须是GET和GET,或者POST和POST。简而言之,这些请求-响应方法是浏览器和服务器通信的方式。您可以在W3Schools上详细了解各种HTTP请求方法之间的区别

    HTTP 3xx重定向的工作原理

    在我们深入研究HTTP 307临时重定向和307内部重定向响应之前,让我们了解HTTP重定向的工作原理。

    HTTP状态代码是从服务器到浏览器的响应。每个状态代码都是一个三位数字,第一个数字定义了它是什么类型的响应。HTTP 3xx状态代码意味着重定向。它们命令浏览器重定向到一个新的 URL,该 URL在服务器响应的Location标头中定义。

    HTTP 3xx重定向

    HTTP 3xx重定向

    当您的浏览器遇到来自服务器的重定向请求时,它需要了解此请求的性质。各种HTTP 3xx重定向状态代码处理这些请求。了解所有这些将有助于我们更好地理解 307 临时重定向和 307 内部重定向。

    我们谈的时候,你应该使用307重定向之前,它可能有助于了解如何它的工作原理。首先,您的浏览器向您尝试访问的站点的Web服务器发送初始请求。

    使用Location标头,服务器然后以HTTP 3XX状态代码(在本例中为307)进行响应。然后浏览器将请求发送到新的URL位置,服务器再次响应(这次通过发送显示网页所需的数据)。

    请注意,有两种类型的307重定向:临时和内部。307内部重定向是307临时的变体,发生在浏览器级别。因此,它不会影响您网站的SEO。

    各种HTTP 3xx重定向

    有几种类型的HTTP 3xx重定向状态代码。最初的HTTP规范不包括307临时重定向和308永久重定向,因为这些角色是由301永久迁移和302发现来填补的。

    然而,大多数客户端将HTTP请求方法从POST更改为GET以获取301和302重定向响应,尽管HTTP规范不允许客户端这样做。这种行为需要在HTTP/1.1更新中引入更严格的307 临时重定向308 永久重定向状态代码。

    HTTP 307 内部重定向响应是307 临时重定向状态代码的变体。它不是由HTTP标准定义的,只是一个本地浏览器实现。我们稍后会更详细地讨论它。

    虽然默认情况下会缓存诸如301和308之类的重定向状态代码,但其他诸如302和307之类的则不会。但是,您可以通过添加Cache-ControlExpires响应头字段使所有重定向响应可缓存(或不可缓存)。

    HTTP重定向并不复杂

    HTTP重定向并不复杂

    使用302 vs 303 vs 307进行临时重定向

    如上图所示,对于临时重定向,您有三个选项:302、303或307。但是,大多数客户端将302状态代码视为303响应并将HTTP请求方法更改为GET。从安全的角度来看,这并不理想。

    “ RFC 1945 和 RFC 2068 指定不允许客户端更改重定向请求的方法。然而,大多数现有的用户代理实现将 302 视为 303 响应,无论原始请求方法如何,对 Location 字段值执行 GET。状态代码 303 和 307 已添加用于希望明确明确客户端期望哪种反应的服务器。”–  HTTP/1.1。状态代码定义,W3.org

    因此,对于需要维护HTTP请求方法的临时重定向,请使用更严格的HTTP 307临时重定向响应。

    例如将/register-form.html重定向到signup-form.html,或从/login.php重定向到/signin.php。

    对于需要将重定向请求方法更改为GET的情况,请改用303 See Other响应。

    例如,从 /register.php页面重定向POST请求以通过GET请求加载/success.html页面。

    除非您的目标受众使用旧客户端,否则请避免使用302 Found重定向响应。

    了解仅HTTPS站点的HTTP 307内部重定向

    如果您有一个仅支持HTTPS的站点,当您尝试通过常规http://不安全地访问它时,您的浏览器将自动重定向到其安全的https://版本。通常,这发生在来自服务器的301永久迁移重定向响应中。

    例如,如果您访问http://citibank.com并在Chrome中加载DevTools并选择网络选项卡,您可以看到浏览器和服务器之间发出的所有请求。

    第一个响应是301 Moved Permanently,它将浏览器重定向到站点的HTTPS版本。

    301响应重定向到HTTPS版本

    301响应重定向到HTTPS版本

    如果我们深入研究第一个请求的Headers字段,我们可以看到Location响应标头定义了重定向的安全URL是什么。

    位置响应头定义了重定向URL

    位置响应头定义了重定向URL

    这种方法的问题在于恶意行为者可以劫持网络连接以将浏览器重定向到自定义URL。像这样的中间人 (MITM) 攻击非常普遍。一部受欢迎的电视剧甚至在其中一集中对其进行了恶搞。

    此外,恶意方可以在不更改浏览器地址栏中显示的URL的情况下发起MITM攻击。例如,可以为用户提供看起来与原始站点完全相同的网络钓鱼页面。

    由于一切看起来都一样,包括地址栏中的URL,大多数用户会很乐意输入他们的凭据。你可以想象为什么这会很糟糕。

    301重定向到HTTPS不安全

    301重定向到HTTPS不安全

    使用HTTP 307内部重定向安全重定向

    现在,让我们用闪电博尝试相同的示例。访问http://www.wbolt.com会导致网络请求,如下面的屏幕截图所示。

    307内部重定向示例

    307内部重定向示例

    站点的第一个请求与前面的示例类似,但这次会导致307 内部重定向响应。单击它会向我们显示有关此响应的更多详细信息。

    注意:如果您尝试直接使用https://访问该站点,您将不会看到此标头,因为浏览器不需要执行任何重定向。

    307内部重定向响应的响应头

    307内部重定向响应的响应头

    注意 Non-Authoritative-Reason: HSTS响应头。这是HTTP 的严格传输安全 (HSTS),也称为Strict-Transport-Security响应标头。

    什么是 HSTS(严格传输安全)?

    IETF于2012年批准了HTTP严格传输安全(HSTS),以强制浏览器在站点严格运行HTTPS时使用安全连接。

    这类似于Chrome或Firefox说:“我甚至不会尝试通过不安全的HTTP协议请求此站点或其任何资源。相反,我会将其更改为HTTPS,然后再试一次。”

    通过307内部重定向响应提高安全性

    通过307内部重定向响应提高安全性

    深入研究第二个请求的响应头会让我们更好地理解。

    验证HSTS响应头

    验证HSTS响应头

    在这里,您可以看到 strict-transport-security: max age=31536000响应头。

    strict-transport-security响应头的max-age属性定义了浏览器应该遵循这种模式的时长。在上面的示例中,此值设置为3153600秒(或 1 年)。

    一旦站点返回此响应标头,浏览器甚至不会尝试发出普通的HTTP请求。相反,它将执行307 内部重定向到HTTPS并重试。

    每次重复此过程时,都会重置响应标头。因此,浏览器将无法无限期地发出不安全的请求。

    什么是HSTS预加载列表?

    即使使用HSTS,也存在明显的安全问题。您使用浏览器发送的第一个HTTP请求是不安全的,因此重复了我们之前在花旗银行中观察到的问题。

    此外,HSTS响应头只能通过HTTPS发送,因此初始的不安全请求甚至无法返回。

    为了解决这个问题,HSTS在其响应头中支持预加载属性。这个想法是有一个网站列表,强制在浏览器中预加载HSTS,完全绕过这个安全问题。

    将您的站点添加到浏览器的HSTS预加载列表中,它会知道您的站点执行严格的HSTS策略,即使它是第一次访问您的站点。然后,浏览器将使用307 内部重定向响应将您的站点重定向到其安全的https://方案,然后再请求其他任何内容。

    您应该注意,与307 Temporary Redirect不同,307 Internal Redirect响应是浏览器本身设置的“假标头”。它不是来自服务器、网络主机或 CMS(例如 WordPress)。

    将站点添加到HSTS预加载列表有许多优点:

    1. Web服务器永远不会看到不安全的HTTP请求。这减少了服务器负载并使站点更加安全。
    2. 浏览器负责从HTTP到HTTPS的重定向,使网站更快、更安全。

    HSTS预加载列表要求

    如果要将站点添加到浏览器的HSTS预加载列表中,则需要勾选以下条件:

    • 为您的域安装了有效的SSL/TLS证书。
    • 通过将所有HTTP流量重定向到HTTPS来强制执行严格的HTTPS。
    • 所有子域都应通过HTTPS提供服务,特别是www子域(如果该子域的DNS记录存在)。
    • 您的基本域应包含具有以下属性的 HSTS 标头:
      • 最大周期属性必须至少31536000秒(1年)来设置。
      • includeSubdomains预载指令必须指定。
      • 如果您提供额外的重定向服务,它必须包含HSTS标头,而不是它重定向到的页面。

    从HSTS预加载列表中删除您的域可能既困难又耗时(最多 12 周或更长时间)。当且仅当您完全致力于在您的站点上使用HTTPS时启用 HSTS。您可以通过在hstspreload.org上提交表单将您的站点从HSTS预加载列表中删除。

    将您的站点添加到HSTS预加载列表

    HSTS预加载列表提交

    HSTS预加载列表提交

    有两种方法可以将您的站点添加到HSTS预加载列表中。

    1. 通过将您的站点提交到HSTS预加载列表目录。例如,hstspreload.org主列表由Chromium开源项目维护,并被大多数主要浏览器(Firefox、Chrome、Safari、IE 11 和 Edge)使用。
    2. 通过将以下标题字段添加到您的站点:

    严格传输安全:max-age=63072000;包括子域;预载

    使用第二种方法,浏览器第一次访问您的网站将不会完全安全。但是,后续访问将是完全安全的。

    Mozilla的HSTS预加载列表示例

    Mozilla的HSTS预加载列表示例

    您可以使用安全标头等免费在线工具来验证您的站点是否正在执行HSTS。如果您担心浏览器对HSTS的支持,您可以放心,因为当今使用的几乎所有浏览器都支持 HSTS

    HSTS得到所有主流浏览器的广泛支持

    HSTS得到所有主流浏览器的广泛支持

    HTTP 307 重定向和SEO

    由于307 Temporary Redirect响应显示资源已临时移至新 URL,因此搜索引擎不会更新其索引以包含此新 URL。来自原始 URL 的“link-juice”不会传递到新 URL。

    这与 301 Moved Permanently 重定向形成对比,其中搜索引擎更新其索引以包含新 URL,并将“link-juice”从原始 URL 传递到新 URL。

    使用307 内部重定向响应,一切都发生在浏览器级别。因此,它应该不会对您网站的 SEO 产生直接影响。但是,将您的站点添加到 HSTS 预加载列表可以使其加载更快且更安全,这两者都可以帮助它在搜索结果中排名更高

    注意不要无意中将用户和机器人重定向到无限重定向循环中,从而导致“重定向过多”错误。

    何时使用307重定向

    重定向可能是您网站维护的一个有用部分。但是,重要的是要小心使用它们的时间和方式,以及使用哪些。过多的URL重定向会减慢您的加载时间,并损害您的用户体验 (UX) 和SEO。

    因此,最佳做法是谨慎使用它们。话虽如此,使用307重定向时有一些场景是合适的。这包括当您:

    • 更新页面上的内容
    • 迁移到不同的内容管理系统 (CMS)
    • 切换域名
    • 由于维护而暂时关闭您的网站

    关键是仅在您知道移动是暂时的才使用307重定向。否则,您最好使用301或308重定向,这样您的SEO中的链接权重就会从旧URL传递到新URL。

    当您打算永久删除或移动页面,或者您正在更改页面的永久链接结构时,通常最好使用301重定向。同样,当您仍然希望它们指向的页面出现在搜索引擎结果中时,最好使用 301 重定向。如果您想在您创建的新页面上从访问者那里获得反馈,同时又不妨碍您的SEO,这也会很有帮助。

    如何在网站上实施307临时重定向

    除了了解各种类型的重定向之外,了解如何正确实现和使用它们也很重要。以下是在您的网站上使用 307 重定向的一些关键提示。

    通过.htaccess文件实现临时重定向

    有几种不同的方法来实现重定向。在WordPress网站上,最好的方法通常是在您的.htaccess文件中指定307重定向,该文件是您的主要服务器配置文件。

    请注意,由于这是一个如此重要的文件,因此谨慎对待对其所做的任何更改至关重要。我们还建议在修改此文件之前创建站点的备份,尤其是在您没有太多开发经验的情况下。

    然后您可以通过文件传输协议 (FTP) 客户端或您的主机帐户的文件管理器应用程序访问它。通常,您可以在站点根目录的public_html文件夹中找到它:

    file-manager-htaccess

    .htaccess文件中,您可以使用mod_rewrite模块实现重定向。这看起来像这样:

    # 使用临时重定向将服务页面重定向到新页面
    RewriteRule “^/service$” “/about/service” [R]
    # 使用临时重定向将服务页面重定向到新页面
    RewriteRule “^/service$” “/about/service” [R]
    # 使用临时重定向将服务页面重定向到新页面 
    RewriteRule “^/service$” “/about/service” [R]

    如需更多信息和指导,您可能需要参考Google的搜索中心关于创建重定向的指南

    使用插件实现链接重定向

    除了自己手动配置重定向,另一种选择是使用WordPress重定向解决方案,例如Quick Page/Post Redirect Plugin

    quick-pagepost-redirect

    这个免费工具可让您将301、302和307重定向添加到您的WordPress 网站。但是,重要的是要注意它使用所谓的“元刷新”重定向。

    元刷新重定向发生在浏览器中,而不是您的Web服务器中。这意味着重定向会告诉浏览器在特定时间跨度内导航到指定的URL。当您看到一个网页内容如下:“如果您没有在5秒内重定向,请单击此处”时,就会发生这种情况。

    这些类型的重定向不仅会使您的访问者感到困惑,而且如果使用频率过高,它们还会使搜索引擎抓取工具认为您的网站包含垃圾邮件内容。因此,我们只建议在您无法通过.htaccess文件设置重定向时使用此方法(例如,如果您的 Web 主机不提供对它的访问)。

    小结

    深入了解HTTP响应状态代码是成为成功网站所有者的重要组成部分。设置重定向可以帮助您正确执行站点维护。如果您只想临时移动URL,我们建议您使用307重定向。

    正如我们在这篇文章中所讨论的,307重定向是一种状态代码,您可以使用它来将访问者指向一个新的 URL,但最终在您完成更改或更新后将他们带回原始 URL。当您不希望链接权重从旧URL传递到新URL时,最好使用此选项。

    此外,或者你应该阅读更多关于链接重定向的相关文章,以加深这一块的了解:

  • 如何解决WordPress持续自动注销用户登录问题

    错误类型:
    WP内部错误
    错误名称:
    WordPress持续自动注销用户登录
    英文名称:
    WordPress Keeps Logging Me Out
    错误描述:
    出现此问题的原因是WordPress尝试设置以验证登录会话的cookie存在问题。某些不匹配的WordPress URL设置也可能是一个问题。

    如何解决WordPress持续自动注销用户登录问题

    如果经常遇到WordPress无端地注销登录这种情况,那么这篇文章应该可以帮助您解决问题。

    通常,出现此问题的原因是WordPress尝试设置以验证登录会话的cookie存在问题。某些不匹配的WordPress URL设置也可能是一个问题。

    不管是什么原因,这里都是如何解决和修复WordPress会话超时问题。

    1. 清除浏览器的缓存
    2. 清除浏览器的Cookie
    3. 检查浏览器的设置
    4. 清除WordPress网站的缓存
    5. 仔细检查您的WordPress网站地址
    6. 禁用和重新启用WordPress插件
    7. 尽管如此,WordPress仍然让我退出登录

    1. 清除浏览器的缓存

    “WordPress一直注销登录”问题可能源于您的浏览器。该页面可能缓存在您的浏览器中,并且可能试图通过过期的cookie对会话进行身份验证。

    如果是这种情况,清除浏览器的缓存将解决此问题。有关详细信息,请查看如何清除所有主要浏览器的缓存

    2. 清除浏览器的Cookie

    同样,问题可能出在已保存在浏览器中的站点cookie。如果cookie已过期但错误地覆盖了您最近的登录信息,则可能会导致错误。

    幸运的是,您可以清除浏览器的cookie来修复它。

    Chrome浏览器

    第1步:在Chrome中,转到右上角的更多按钮。它看起来像一个汉堡包图标:三个垂直线或点。

    第2步:然后,在下拉菜单中,选择更多工具 > 清除浏览数据

    进入Chrome的设置并清除浏览数据

    进入Chrome的设置并清除浏览数据

    第3步:在弹出窗口的顶部,选择应该清除多远前数据的时间范围。要删除所有内容,请从下拉框中选择所有时间

    第4步:然后,检查Cookie和其他站点数据以及缓存的图像和文件框。或者,您还可以检查浏览历史记录选项。

    选中该框以清除cookie和缓存的图像

    选中该框以清除cookie和缓存的图像

    第5步:单击清除数据按钮。根据需要擦除的数据量,完成该过程可能需要几分钟时间。

    Safari浏览器

    第1步:要清除Safari中的cookie,请打开浏览器并从菜单中选择首选项

    在Safari中打开首选项选项

    在Safari中打开首选项选项

    第2步:接下来,单击隐私选项卡,然后单击管理网站数据按钮。

    单击隐私设置中的管理网站数据按钮

    单击隐私设置中的管理网站数据按钮

    第3步:单击“全部删除”按钮以从Safari中删除所有cookie。

    单击按钮从Safari中删除所有cookie

    单击按钮从Safari中删除所有cookie

    Firefox浏览器

    第1步:打开Firefox后,单击右上角的汉堡设置图标。从下拉菜单中选择首选项

    从菜单图标中选择首选项选项

    从菜单图标中选择首选项选项

    第2步:将打开一个带有设置的新选项卡。单击左侧菜单中的隐私和安全。向下滚动到Cookie和站点数据部分,然后单击管理数据按钮。

    单击管理数据按钮

    单击管理数据按钮

    第3步:在出现的弹出窗口中,单击“删除所有显示”按钮以删除cookie。然后,单击Save Changes

    单击“删除所有显示”按钮删除所有cookie

    单击“删除所有显示”按钮删除所有cookie

    Edge浏览器

    第1步:打开浏览器并单击右上角的省略号。然后,转到“历史记录”>“清除浏览数据”

    如果您点击清除浏览数据,您还可以删除cookie

    如果您点击清除浏览数据,您还可以删除cookie

    第2步:时间范围下拉框中,选择适合您情况的选项。想想“WordPress持续注销登录”问题已经发生了多久。选择一个至少一样长的时间范围。

    例如,如果您只遇到了几分钟的问题,则默认的最后一小时选项应该可以工作。否则,您可以选择不同的范围,包括All Time

    选择一个时间范围,该时间段内的所有cookie都将被删除

    选择一个时间范围,该时间段内的所有cookie都将被删除

    第3步:接下来,确保选中Cookie和其他站点数据以及缓存图像和文件的框。您可以选择同时选择清除浏览和下载历史记录。

    完成后,单击立即清除按钮。

    3. 检查浏览器的设置

    如果这不起作用,则问题可能源于您浏览器的cookie设置。如果它们设置为强制cookie过期,则需要对其进行更改。

    在这种情况下,以下步骤应该适用于您使用的浏览器类型。

    Chrome浏览器

    第1步:在Chrome中,点击右上角的菜单图标,然后选择Settings

    选择菜单中的设置选项

    选择菜单中的设置选项

    第2步:将打开一个带有很多选项的新选项卡。向下滚动到页面底部并选择Advanced

    单击设置页面底部的高级按钮

    单击设置页面底部的高级按钮

    第3步:将动态显示附加选项列表。单击隐私和安全部分下的站点设置

    进入站点设置将让您调整站点保存cookie的方式

    进入站点设置将让您调整站点保存cookie的方式

    第4步:权限部分下,找到Cookie和站点数据设置。如果它下面没有标签Allow site to save and read cookie data并且显示Blocked,然后单击它。

    否则,这不是导致“WordPress持续注销登录”问题的原因。在这种情况下,您可以跳到下一部分以进行进一步的故障排除。

    如果cookie被阻止,您需要更改站点设置

    如果cookie被阻止,您需要更改站点设置

    第5步:单击“ Cookie和站点数据”部分下“已阻止”标签旁边的切换按钮。一旦你这样做了,它应该会自动切换和更改以允许保存cookie。

    单击切换按钮让站点保存 cookie

    单击切换按钮让站点保存 cookie

    Safari浏览器

    第1步:在Safari的菜单中,选择首选项选项。

    您可以通过选择首选项来检查浏览器的设置

    您可以通过选择首选项来检查浏览器的设置

    第2步:转到隐私选项卡。然后,在Cookie和网站数据选项旁边,确保未选中阻止所有Cookie框。如果已选中,请单击它。更改将自动保存。

    确保Safari没有阻止cookie

    确保Safari没有阻止cookie

    第3步:检查“WordPress持续注销登录”问题是否消失。如果它仍然存在,如果您不希望浏览器保存cookie,您可以再次选中此框。

    然后,在网站跟踪旁边,确保未选中防止跨站点跟踪。如果是,请单击它。

    尝试取消选中该选项以防止跨站点跟踪

    尝试取消选中该选项以防止跨站点跟踪

    Firefox浏览器

    第1步:打开Firefox并单击可以在默认新标签页上找到的齿轮图标。这是列出了您的热门网站的页面。

    该图标位于页面的右上角。

    打开一个新选项卡并单击齿轮图标

    打开一个新选项卡并单击齿轮图标

    第2步:将打开一个带有设置的新选项卡。然后,转到左侧菜单中的隐私和安全选项卡。

    转到增强跟踪保护部分并选择标准选项。

    如果已选择此选项,请继续进行故障排除。

    确保为增强跟踪保护选择了标准选项

    确保为增强跟踪保护选择了标准选项

    Edge浏览器

    第1步:打开浏览器,点击右上方的汉堡包图标,然后转到“设置”

    访问设置以更改Edge保存数据的方式

    访问设置以更改Edge保存数据的方式

    第2步:转到“站点权限”选项卡并找到“ Cookie和站点数据”按钮。如果它下面有“已阻止”字样,请单击它。

    另一方面,如果显示“允许”,请继续进行故障排除。

    如果cookie和数据被阻止,请单击选项进行更改

    如果cookie和数据被阻止,请单击选项进行更改

    第3步:单击允许站点保存和读取cookie数据旁边的切换按钮。此更改会自动保存。

    确保Edge允许保存cookie

    确保Edge允许保存cookie

    第4步:检查“WordPress强制注销登录”问题是否已修复。或者,如果它已启用,请确保禁用阻止第三方cookie的切换按钮。

    在这一点上,如果您检查“WordPress持续注销用户登录”错误是否仍然发生并且仍然令人讨厌,请单击Allow旁边的Add按钮。

    尝试将出现错误的特定站点添加到允许站点列表中

    尝试将出现错误的特定站点添加到允许站点列表中

    第5步:在文本字段中输入因“WordPress莫名其妙地注销登录”错误而给您带来麻烦的站点地址。然后,单击添加

    输入您的站点,然后单击“添加”按钮

    输入您的站点,然后单击“添加”按钮

    4. 清除WordPress网站的缓存

    如果您已经做到了这一点并且问题仍然存在,则不应归咎于您的浏览器。但是,您的WordPress网站的缓存可能是导致“WordPress持续注销登录”问题的原因。

    不过别担心……还有一些方法可以解决它!

    您只需单击几下即可清除站点的缓存,但该过程因您的主机以及是否使用缓存插件而异。

    如果您使用插件进行缓存,请查看其文档。

    否则,请咨询您的主机以了解清除站点和服务器缓存的说明。

    5. 仔细检查您的WordPress网站地址

    有时,WordPress登录会话cookie未保存,因为cookie中定义的URL与站点地址不匹配。

    要解决此问题,请检查您的WordPress设置并确保站点地址 (URL)WordPress 地址 (URL)字段相同。

    第1步:登录您的站点并转到菜单中的“设置”>“常规”。然后,根据需要更新地址并确保它们是正确的。

    有时,可能有一个“www”前缀,而本不应该有。此外,如果您的域上安装了SSL证书,请检查是否有“https”前缀。

    如果您进行了任何调整,请单击页面底部的保存更改

    确保您的WordPress URL匹配且正确

    确保您的WordPress URL匹配且正确

    第2步:手动更新WordPress地址。

    如果这不能解决“WordPress不停注销用户登录”错误,您需要手动更新这些地址。

    为此,您需要编辑wp-config.php文件。

    使用 SFTP 与站点建立连接后,下载并打开文件。或者,如果您使用的是FileZilla,则可以单击该文件,然后右键单击它并从列表中选择“查看/编辑”。

    您可以直接从FileZilla编辑文件

    您可以直接从FileZilla编辑文件

    在“happy blogging”行上方,输入以下代码:

    define(‘WP_HOME’,‘http://your-site.com’);
    define(‘WP_SITEURL’,‘http://your-site.com’);
    define(‘WP_HOME’,’http://your-site.com’);
    define(‘WP_SITEURL’,’http://your-site.com’);
    define('WP_HOME','http://your-site.com');
    define('WP_SITEURL','http://your-site.com');

    请务必将“http://your-site.com”更改为您的实际域。此外,请检查您对“HTTP”或“HTTPS”的使用是否正确。

    如果您为您的站点安装了SSL证书,那么您应该选择“HTTPS”前缀。

    在上面的示例中,也没有“www”。字首。如果您的站点包含一个并且在您的域的 DNS 设置中设置为以这种方式使用,那么一定要添加它。

    保存文件并将其上传回您站点的主文件夹中。或者,如果您使用的是FileZilla,则返回客户端并在提示您将文件的新版本覆盖到服务器时单击是。

    当询问您是否要上传更改后的文件时单击是

    当询问您是否要上传更改后的文件时单击是

    6. 禁用和重新启用WordPress插件

    如果您没有成功解决“WordPress持续注销登录”错误,那么您正在使用的插件之一可能存在问题。

    当插件需要使用cookie对会话进行身份验证,但未正确设置或cookie存在问题时,可能会导致WordPress登录超时错误。

    要解决这个可能的原因,您需要手动禁用插件。有关详细信息,请查看如何禁用WordPress插件

    第1步:使用SFTP,转到/wp-content/并重命名插件文件夹。选择一个清晰的名称以避免将来混淆。

    第2步:刷新您的网站并检查“WordPress持续注销登录”问题是否已解决。

    如果已修复,请将插件文件夹重命名为其原始名称。然后,在浏览器中刷新页面。

    第3步:转至插件 > 已安装插件并逐一激活插件,直到错误再次出现。

    激活每个插件,直到出现WordPress会话超时错误

    激活每个插件,直到出现WordPress会话超时错误

    第4步:现在您知道是哪个插件导致了“WordPress持续注销登录”问题,您可以将其删除。

    如果您仍然可以访问您的站点,请留在插件页面并单击列出的问题插件下的停用。然后,单击显示在激活链接旁边的删除链接。

    停用并删除问题插件

    停用并删除问题插件

    如果您无权访问您的站点,您可以使用 SFTP 再次重命名插件文件夹,然后将其改回原来的名称。

    接下来,在浏览器中刷新站点并删除插件。

    现在,如果您迫切需要使用插件提供的功能,您可以搜索合适的替代品。否则,您可以联系插件作者报告问题并请求修复。

    7. WordPress仍然让我退出登录

    如果您仍然遇到“WordPress持续注销登录”的问题,您可以在用户选中“记住我”框时手动延长记住用户的时间。

    如果默认值不够长或时间先前已更改并且不再适合您,这也很有帮助。

    手动更新您被记住的时间

    第1步:如果您还没有这样做,请使用functions.php文件创建一个子主题。

    在您的子主题的functions.php 文件中,添加此过滤器:

    add_filter( ‘auth_cookie_expiration’, ‘keep_me_logged_in_for_1_year’ );
    function keep_me_logged_in_for_1_year( $expirein ) {
    return YEAR_IN_SECONDS; // 1 year in seconds
    }
    add_filter( ‘auth_cookie_expiration’, ‘keep_me_logged_in_for_1_year’ );
    function keep_me_logged_in_for_1_year( $expirein ) {
    return YEAR_IN_SECONDS; // 1 year in seconds
    }
    add_filter( 'auth_cookie_expiration', 'keep_me_logged_in_for_1_year' );
    function keep_me_logged_in_for_1_year( $expirein ) {
    return YEAR_IN_SECONDS; // 1 year in seconds
    }

    需要注意的是,上述过滤器会记住一个用户一年。如果您更愿意更改此设置,这里有其他可能的选项,您可以使用它们来替换“YEAR_IN_SECONDS”:

    • DAY_IN_SECONDS – 用户只被记住一天。
    • WEEK_IN_SECONDS – 这意味着一周。
    • MONTH_IN_SECONDS – 这是为了让用户记住一个月。

    请记住,如果您在本地开发,如果您的计算机是安全的并且您使用防病毒应用程序,让您的用户帐户被记住一年可能不会构成巨大的安全威胁。但是,它对于生产站点或暂存站点并不安全。

    您也可能不希望为让用户记住一天而进行更改,因为这可能会导致您再次看到“WordPress持续注销登录”的问题。

    考虑您的选择并选择适合您的值。

    小结

    当WordPress不断地将您注销时,这非常非常非常烦人的事情。

    幸运的是,在大多数情况下,WordPress会话超时给您“WordPress持续注销登录”的问题可以快速解决。具体来说,请确保:

      • 清除浏览器的缓存
      • 清除浏览器的Cookie
      • 检查浏览器的设置
      • 清除WordPress网站的缓存
      • 仔细检查您的WordPress网站地址
      • 禁用和重新启用WordPress插件
      • 手动更新您被记住的时间
  • 如何修复WordPress提示“安装失败:无法创建目录”错误

    错误类型:
    WP内部错误
    错误名称:
    安装失败:无法创建目录
    英文名称:
    Installation Failed: Could Not Create Directory
    错误描述:
    如果您尝试安装的插件或主题没有写入网站根目录的权限,它将无法完成此任务。那时您会看到诸如“安装失败:无法创建目录”之类的错误。

    如何修复WordPress提示“安装失败:无法创建目录”错误

    WordPress网站上的错误会减慢您的工作速度,并给您和您的用户带来严重的不便。例如,“安装失败:无法创建目录”消息可能会阻止您提供关键特性或功能。

    幸运的是,解决这个错误相当简单。通过调整一些设置,您可以轻松地立即启动并运行您的WordPress插件或WordPress主题。

    在这篇文章中,我们将讨论导致此错误的原因以及与之相关的其他问题。然后,我们将引导您完成解决“安装失败:无法创建目录”消息的三种方法,以便您可以完成安装或更新。

    1. 导致“安装失败:无法创建目录”的原因
    2. 诊断“安装失败:无法创建目录”错误
    3. 如何修复“安装失败:无法创建目录”错误

    导致“安装失败:无法创建目录”的原因

    在三种主要情况下,您可能会遇到“安装失败:无法创建目录”错误:

    1. 当通过你的WordPress仪表盘安装一个主题或者插件
    2. 在标准主题或插件更新期间
    3. 尝试将文件上传到服务器上的wp-content目录时

    问题的根本原因在每个场景中都是相同的。但是,让我们依次看看这些情况。

    在您的站点上安装新主题或插件

    您的WordPress站点由两个组件组成:一个数据库和存储在服务器上“目录”中的各种文件。当您使用WordPress管理员向您的站点添加主题或插件时,它必须创建一个新目录来保存其文件。

    但是,如果您尝试安装的插件或主题没有写入网站根目录的权限,它将无法完成此任务。那时您会看到诸如“安装失败:无法创建目录”之类的错误。

    此错误是您的服务器表示您不允许通过添加相关插件或主题来更改站点文件的方式。一般来说,这是一个通常出现在新的WordPress网站上的问题。

    请务必注意,此错误有一个类似的、不太常见的原因。如果您的服务器磁盘空间不足,无法存储您站点的文件,它可能会显示相同的消息,因为它没有空间容纳新插件或主题。

    这可能是因为旧的备份文件没有被删除,也可能是因为您的托管计划对于您的站点来说太小了。在后一种情况下,您需要考虑升级到另一个提供更多存储空间的主机方案。

    更新现有的主题或插件

    有时,当尝试升级已安装在您网站上的WordPress主题或插件时,您可能会看到与我们上面描述的非常相似的错误。这通常会显示,“更新失败:无法创建目录。”

    出现此问题的原因与“安装失败无法创建目录”的原因相同。错误。当您更新WordPress插件或主题时,WordPress需要在您网站的服务器上重写其文件。如果您的权限设置不正确或没有足够的可用空间,则该过程将无法访问正确的文件或上传新文件。

    由于这两个问题的原因是相同的,因此解决方案也是相同的。解决下面列出的“安装失败:无法创建目录”错误的任何方法也应该适用于停滞的更新。

    上传文件到wp-content目录

    服务器文件权限是托管服务提供商用来防止未经授权方更改您的站点或窃取敏感信息的一项安全功能。

    但是,如果设置不正确,它们有时会将您锁定在您自己的文件之外。

    这就是为什么,如果您尝试绕过“安装失败:无法创建目录”。如果通过将插件或主题的文件直接上传到 服务器上的wp-content目录,您的WordPress仪表盘中的错误,您可能仍然会遇到同样的问题。发生该错误的原因是您的服务器问题,而不是您的WordPress安装问题。

    此问题也可能会扩展到您的wp-content/uploads子目录,其中存储了所有媒体文件。通过将图像、视频或类似内容保存到您的服务器,将它们添加到您的站点的过程与安装新插件或主题的过程相同。

    如果您没有在根目录中写入的权限,将内容上传到wp-content/uploads 仍然会产生我们一直在讨论的错误。要修复它,您需要调整服务器的设置,我们将在稍后介绍。

    诊断“安装失败:无法创建目录”错误

    关于这个错误的好消息是它相对容易修复。大多数情况下,更正您的权限将清除所有内容。但是,在开始研究该解决方案之前,您可能需要确保它可以解决您的问题。

    下面,我们概述了两种方法来确定您的站点是否遇到与权限相关的错误。

    1. 使用WordPress站点健康工具

    WordPress 5.2引入了站点健康工具。它包含有关您的WordPress站点的大量宝贵信息,例如性能测试结果、安全检查和WordPress配置数据。

    您可以通过导航到WordPress仪表盘中的工具 > 站点健康来访问它。要检查您的文件权限设置,您需要单击“信息” 选项卡:

    WordPress站点健康工具

    WordPress站点健康工具

    然后,向下滚动到最后一部分,该部分应标记为文件系统权限

    WordPress站点健康信息选项卡

    WordPress站点健康信息选项卡

    在这里,您将看到一个重要的 WordPress 文件列表,包括插件和主题目录。理想情况下,它们都将被列为“可写入”:

    WordPress站点健康文件系统权限检查

    WordPress站点健康文件系统权限检查

    如果您的权限配置不正确,您会在有问题的文件夹旁边看到“不可写”。如果是这种情况,您就会知道需要更正文件权限。

    2. 检查您服务器的错误日志

    另一种选择是检查服务器的错误日志。这可能是一种更有效的方法,因为它会显示发生的任何错误,而不仅仅是不正确的文件权限。您应该能够通过您的主机帐户访问您的日志。

    找到服务器错误日志error.log。在这里,您应该能够看到服务器上最近发生的任何错误,包括不正确的文件权限或存储空间不足,其中任何一个都可能导致安装错误。

    如果您看到列出的相关错误,您可以更正您的文件权限或考虑根据需要升级您的主机计划。

    如何修复“安装失败:无法创建目录”错误

    如果您站点的权限设置导致“安装失败:无法创建目录错误”,您可以通过重置它们来解决它。为此,您需要使用FTP客户端通过文件传输协议 (FTP)连接到您的服务器。

    任何时候对站点文件进行更改时,最好先创建备份 ,以防万一出现问题而需要恢复站点。然后,从您的主机帐户收集您的FTP凭据。

    然后,打开FileZilla(或其他客户端)并输入您的信息。您将连接到您的服务器,您应该在其中看到一个名为public_html的文件夹。双击它以查看您的WordPress文件:

    通过FTP访问public_html目录

    通过FTP访问public_html目录

    之后,选择标记为wp_contentwp_includeswp_admin的文件夹。右键单击它们并选择文件权限

    通过FTP选择文件权限选项

    通过FTP选择文件权限选项

    您应该会看到一个包含一些设置的窗口:

    通过FTP设置正确的文件权限

    通过FTP设置正确的文件权限

    检查此处的选项是否设置为以下值:

    • 所有者权限:读取、写入、执行。
    • 组权限:读取、执行。
    • 公共权限:读取、执行。
    • 数值:755。
    • 递归到子目录。
    • 仅适用于目录。

    单击确定 按钮关闭窗口。现在返回您的站点并再次尝试安装或更新插件/主题。

    值得注意的是,一些托管服务提供商,包括那些使用cPanel的托管服务提供商,拥有自己的工具,您可以使用它们而不必担心FTP/SFTP。您通常可以通过登录您的主机帐户、导航到出现错误的站点并查找文件管理器来找到此工具。

    小结

    您的WordPress网站的插件和主题为您和您的用户提供了重要的功能。在安装或更新时遇到错误可能会影响您的计划并减慢您的进度。

    要确定文件权限问题是否导致您站点上的插件或主题安装错误,您可以使用站点运行状况工具或查看服务器的错误日志。之后,使用FTP/SFTP重置您的权限应该只需要几分钟。

  • 如何解决WordPress定时发布失败错误

    错误类型:
    WP内部错误
    错误名称:
    定时发布失败
    英文名称:
    Missed schedule
    错误描述:
    如果您的WordPress托管服务器或插件正在影响cron作业,则WordPress将错过计划任务,例如定时发布文章任务。

    如何解决WordPress定时发布失败错误

    如果您经常需要使用WordPress的定时发布功能,是否曾经遭遇过定时发布失败?WordPress内置了文章定时发布功能,但是,有时您可能会注意到预定的文章根本不会发布。

    提前安排WordPress文章很简单。您结束编辑,设定日期,然后您就可以自由地专注于其他事情。问题是WordPress有时无法发布那些预定的文章,这可能会弄乱您的编辑日历。

    使在WordPress中安排文章成为可能的底层功能称为“cron”,有时它不会按预期运行。但是,有几种方法可以防止将来发生此问题。

    在本教程中,我们将向您展示定时发布错误是什么样的,并深入探讨其发生的原因。然后我们将讨论如何修复WordPress定时发布错误的两种方法,以确保网站定时发布预定的文章。

    什么是WordPress定时发布失败

    当您在WordPress中结束一篇新文章时,您有几个关于下一步要做什么的选择。您可以将其保存为草稿,立即发布,当然,也可以安排稍后的日期。

    通常,整个过程会顺利进行。日期到了,WordPress会检查是否有任何需要发布的文章。如果有,它会继续并公开它们。与此同时,您可以放松并专注于运营您的网站和业务的其他方面。

    但是,有时WordPress会完全错过您设置的发布日期。发生这种情况时,如果您查看“文章”选项卡,您会看到类似这样的错误:

    WordPress定时发布失败

    WordPress定时发布失败

    您可以随时访问这些问题文章并手动发布它们。但是,当出现预定的发布错误时,WordPress不会让您知道。这意味着如果您想避免任何问题,您需要仔细检查您的文章是否在您设置的时间通过,这违背了提前安排它们的全部目的。

    什么原因导致WordPress定时发布失败?

    通常,当您安排要在以后发布的WordPress文章时,WordPress使用一种称为“Cron”或“ WordPress Cron ”的技术来按定时计划自动发布文章。

    WordPress使用cron作业来安排它需要在特定时间运行的任务。在基于 UNIX 的系统中,这些“cron”也称为“调度程序”,它们有多种用途。例如,您可以使用cron来运行命令或脚本,或者 – 与WordPress一样 – 发布文章。

    WordPress的crons问题在于它们并不是真正意义上的“真正的 crons”。由于许多 Web 主机不向用户提供对服务器设置的访问权限,这意味着您无法将 cron 配置为在系统级别运行。WordPress通过使用模拟cron绕过了该限制。WordPress不是让它们以设定的时间间隔运行,而是依靠用户访问来触发这些假cron。

    换句话说,每次用户访问您的网站时,内容管理系统 (CMS) 都会检查是否有任何待运行的cron作业需要运行。这是一个聪明的解决方案,但它也带来了一个明显的缺点——如果您的网站没有在正确的时间获得任何访问,那么CMS将不会按预期发布您的文章。届时,错过的日程安排错误就会浮出水面。

    即使您的网站不断涌入访问者,这并不意味着您100%不会出现WordPress定时发布错误。例如,如果您的网站暂时关闭,或者如果您使用缓存插件,您的WordPress定时发布任务仍有可能无法按计划运行。

    WordPress网站服务器环境或插件冲突可能会导致WordPress产生文章定时发布失败。

    但是,如果您的WordPress托管服务器或插件正在影响cron作业,则WordPress将错过计划任务,例如定时发布文章任务。

    您的其他cron作业可能仍然偶尔会起作用,例如检查更新或删除自动保存的草稿。但定时发布文章不同,因为一旦错过发布时间,WordPress便不会在其他时间发布博客文章。

    对于大多数用户而言,这种情况并不经常发生,对于某些用户而言,它可能会成为WordPress的常见问题。

    下面让我们看一下如何修复WordPress定时发布失败错误。

    如何修复WordPress定时发布失败错误

    1.使用插件修复WordPress定时发布失败错误

    理想情况下,WordPress会定期检查是否错过了任何文章发布日期并为您处理。遗憾的是,这不是CMS开箱即用的功能。但是,您可以使用正确的插件轻松添加这种功能,这就是Scheduled Post Trigger的用武之地:

    Scheduled Post Trigger插件

    Scheduled Post Trigger插件

    这个插件的工作方式是,每次有人访问您的网站时,它都会检查WordPress最近是否错过了任何预定的发布日期。如果它发现任何错过计划错误的实例,它会立即获取这些文章并发布它们。

    换句话说,该插件通过添加一个cron作业来检查您的网站是否有遗漏的cron作业。这种方法听起来有点多余,但确实有效。此外,该插件不需要任何特殊配置,一旦安装并激活它就会自动开始工作。

    此外,您也可以安装并启用Missed Scheduled Post Publisher插件。该插件开箱即用,无需任何设置。

    该插件仅每15分钟检查一次您的网站,以查看定时发布的WordPress文章是否错过了时间表。

    如果找到任何错过的计划项目,则它将状态从计划状态更改为已发布。

    它适用于文章,页面,产品以及您在WordPress网站上可能具有的任何其他自定义文章类型。

    2.非插件解决WordPress定时发布失败错误

    如果安装该插件不能立即解决定时发布错误,那么还可以尝试以下一些技巧。

    1.检查WordPress时区设置

    设置时区是安装WordPress之后要做的第一件事。但是,有时用户会错过它,而他们的WordPress时区与他们要用于发布和管理其网站的时区不匹配。

    只需转到设置»常规页面,然后向下滚动到“时区”部分。从这里,您需要选择您所在地区的时区或要用于WordPress网站的时区。

    WordPress时区设置

    2.清除WordPress缓存

    如果WordPress文章仍然错过定时发布时间表,则可能是由于缓存插件配置不正确所致。尝试清除WordPress缓存,并确保正确配置了WordPress缓存插件以定期自动清除缓存。

    3.增加WordPress内存限制

    WordPress网站可能会遇到内存不足问题。您可以通过允许WordPress使用更多服务器内存来解决此问题,以保证WordPress更好地运行。

    只需将以下代码添加到您的WordPress网站的wp-config.php文件中,位于“That’s all, stop editing! Happy publishing.”前面。

    define(‘WP_MEMORY_LIMIT’, ‘500M’);
    define(‘WP_MEMORY_LIMIT’, ‘500M’);
    define('WP_MEMORY_LIMIT', '500M');

    3.直接通过您的服务器管理Cron作业

    如果您的托管计划确实为您提供了对服务器设置的访问权限,那么您可以将 cron 作业配置为在该级别运行。但是,要使这种方法起作用,您需要先禁用WordPress的cron以避免冲突。

    为此,请使用FileZilla等客户端通过FTP访问您的网站。导航到您的根文件夹,并在其中查找wp-config.php文件:

    wp-config.php文件

    wp-config.php文件

    右键单击该文件,然后选择“查看/编辑”选项。现在,在文件末尾添加以下代码行:

    define(‘DISABLE_WP_CRON’, true);
    define(‘DISABLE_WP_CRON’, true);
    define('DISABLE_WP_CRON', true);

    将更改保存到wp-config.php文件,这就是第一步。接下来,您需要通过您的服务器实现手动cron,大多数提供商允许您使用您的主机控制面板来执行此操作。

    例如,如果您有权访问cPanel,则其选项卡下应该有一个名为Cron Jobs的选项:

    通过cPanel的Cron作业

    通过cPanel的Cron作业

    通过使用此工具,您可以轻松安排新的cron作业按时间间隔运行。根据经验,任何比五分钟更频繁的时间间隔都是多余的,在这些时间运行的cron作业会给您的服务器带来不必要的负担。

    但是请记住,尽管您的Web主机可以帮助您在服务器级别安排cron,但您仍然需要手动设置要执行的任务。这涉及编写UNIX 命令,这意味着如果您想手动配置您的cron,您需要复习这些命令。

    另一种选择是使用为您处理cron的网络托管服务提供商。

    小结

    定时发布文章是大多数WordPress用户的关键功能。这个简单的功能使您不必设置提醒来手动发布文章。相反,WordPress会为您处理它,或者至少它应该为您处理。但是,如果相关的cron作业没有正确触发,那么您的文章可能在您自己发布之前不会出现。

    有两种方法可以修复WordPress定时发布文章错误。你可以:

    1. 使用预定后触发器插件。
    2. 手动排查解决WordPress定时发布失败错误
    3. 直接通过您的服务器管理cron作业。

    希望本教程能够帮助您修复WordPress文章定时发布失败错误!

  • 如何修复WordPress提示“MySQL Server Has Gone Away”错误

    错误类型:
    数据库错误
    错误名称:
    客户端与MySQL服务器之间的连接断开
    英文名称:
    MySQL Server Has Gone Away
    错误描述:
    至于错误本身,正如您从名称中想象的那样,它与您的MySQL数据库有关。更具体地说,在大多数网站上,一般由三种原因会导致此错误产生。

    如何修复WordPress提示“MySQL Server Has Gone Away”错误

    数据库是大多数现代网站的关键组成部分,因此影响您的网站的错误往往特别令人担忧。例如,“MySQL server has go away”错误可能会让您认为您的数据库丢失了。这意味着您可能必须使用最新的备份来启动和运行您的站点。

    尽管听起来很吓人,但“MySQL server has go away”错误很容易修复。事实上,按照正确的说明,您的网站应该会在几分钟内备份并运行。

    在本文中,我们将向您展示“MySQL server has go away”错误的示例,并分析WordPress中可能导致该错误的原因。然后我们将教您如何修复它并防止将来再次出现此错误。

    1. “MySQL Server Has Gone Away”错误介绍
    2. 如何修复“MySQL Server Has Gone Away”错误

    “MySQL Server Has Gone Away”错误介绍

    首先,让我们快速看一下“MySQL server has go away”错误是什么样的:

    浏览器显示“MySQL server has go away”错误

    浏览器显示“MySQL server has go away”错误

    错误本身非常简单,而且几乎总是以相同的方式出现。但是,根据您使用的浏览器和服务器的配置,具体的措辞可能会有所变化。

    至于错误本身,正如您从名称中想象的那样,它与您的MySQL数据库有关。更具体地说,在大多数网站上,以下三种情况之一通常会导致此错误:

    1. 数据库中有一个损坏的表。您的数据库已损坏,因此您需要恢复到最近的备份或修复它。
    2. PHP的’timeout’设置太低。如果 PHP 脚本需要访问您的数据库并且无法在设置的超时窗口内获取信息,这也可能触发上述错误。
    3. 数据包要么被丢弃,要么太大。服务器认为是这种情况,它基本上关闭了连接并抛出错误。

    幸运的是,所有这些问题都可以轻松解决。让我们谈谈如何开始故障排除过程。

    如何修复“MySQL Server Has Gone Away”错误

    正如我们所见,这个特定的WordPress错误有几个潜在的原因。

    因此,有不同的可能解决方案。在大多数情况下,以下修复程序之一应该可以消除您网站上的错误。因此,如果一个不起作用,您可以简单地转到下一个。

    1. 编辑WordPress的wp-db.php文件

    如果您网站的PHP超时设置太低且您的数据库太大,则在该窗口期间获取您需要的数据可能是一个问题。正如我们之前提到的,这会触发“MySQL Server Has Gone Away错误。

    为了防止这种情况发生,您需要编辑一个名为wp-db.php 的WordPress 核心文件。通过打开wp-includes目录,您可以在WordPress根文件夹中找到此文件:

    wp-db.php文件

    wp-db.php文件

    要访问这些文件,我们建议您使用FileZilla等FTP客户端并通过SFTP连接。连接到站点后,找到wp-db.php,然后右键单击它以使用默认的本地文本编辑器打开文件。

    然后,在文件中搜索以下行:

    $this->ready = true;
    $this->ready = true;
    $this->ready = true;

    在该代码正下方添加以下行:

    $this->query(“set session wait_timeout=300”);
    $this->query(“set session wait_timeout=300”);
    $this->query("set session wait_timeout=300");

    这段代码的作用是将您的PHP超时值设置为300秒,这应该比防止出现任何错误所需的时间多得多。

    现在将更改保存到您的wp-db.php文件并确保您的网站按预期加载。

    2. 修复您的WordPress数据库

    有时,您的WordPress数据库可能会损坏,这反过来又会在您尝试与其建立连接时导致错误。这并不常见,但在正常网站的发展过程中,当您向数据库中添加更多表(以及插件和主题信息)时,可能会发生这种情况。

    要解决此问题,您可以使用内置的WordPress功能来修复您的数据库。但是,首先,您必须启用该功能。这涉及导航到您的WordPress根目录并打开wp-config.php文件以对其进行编辑。

    打开文件后,滚动到底部并向其添加以下行:

    define(‘WP_ALLOW_REPAIR’, true);
    define(‘WP_ALLOW_REPAIR’, true);
    define('WP_ALLOW_REPAIR', true);

    这行简单的代码告诉WordPress启用数据库修复功能。将更改保存到wp-config.php,然后关闭文件。要运行该函数,只需访问以下URL:

    https://yourwebsite.com/wp-admin/maint/repair.php

    然后WordPress会询问您是要简单地修复数据库还是修复和优化它。第一个选项是修复“MySQL Server Has Gone Away错误所需的全部内容:

    WordPress中的修复数据库选项

    WordPress中的修复数据库选项

    这个过程应该不会花很长时间,当它完成时,有问题的错误应该消失了。但是,您仍有一些清理工作要做,因为您需要禁用网站上的数据库修复功能。如果不这样做,任何人都可以通过访问相同的URL来触发它

    因此,在结束之前,请返回到您的WordPress根目录并删除您之前添加的代码行。然后保存对文件的更改并关闭它。

    3. 通过您的托管服务提供商使用备份恢复您的网站

    如果所有其他方法都失败了,您始终可以使用网站的完整备份将其恢复到数据库正常工作时的状态。理想情况下,您将使用最近的备份执行此操作,以便尽可能少地丢失数据。

    问题是并非所有WordPress网络主机都为其用户提供内置备份功能。这意味着您经常无法使用插件等手动解决方案。这些工具不一定是坏的,但是如果您无权访问WordPress管理区域,那么恢复备份就变成了一项艰巨的任务。

    但请记住:使用此功能将覆盖您网站的当前版本。因此,当您确定不会丢失任何关键信息时,您只会希望将其用作最后的手段。

    小结

    您的网站增长得越多,它需要存储的数据就越多。所有这些信息都会进入您的WordPress数据库。在某些情况下,如果它变得太大,您可能会遇到诸如“MySQL Server Has Gone Away”之类的错误

    如果您遇到此特定错误,您可以通过以下三种方法摆脱它:

    1. 编辑WordPress的wp-db.php文件。
    2. 修复您的WordPress数据库。
    3. 通过您的托管服务提供商使用备份来恢复您的网站。

    现在您知道如何修复,是时候真正摆脱这个烦人的错误消息了。如果您仍然遇到 MySQL 问题,您可能需要查看如何修复MySQL 1064错误