参考了网上很多方法,有的修改模板的配置文件,有的要修改PHP里面的时区,有的要修改WORDPRESS的配置文件,试了试都没有解决。
后台直接修改
首先,后台-设置-常规,检查一下WordPress时区设置是否正确,一般为上海或者UTC+8,才能正确显示东八区时间。
我是将上海修改为UTC+8,问题解决

参考了网上很多方法,有的修改模板的配置文件,有的要修改PHP里面的时区,有的要修改WORDPRESS的配置文件,试了试都没有解决。
后台直接修改
首先,后台-设置-常规,检查一下WordPress时区设置是否正确,一般为上海或者UTC+8,才能正确显示东八区时间。
我是将上海修改为UTC+8,问题解决

一招改善更新WordPress后后台加载慢的问题
话说千巧哥的博客把WordPress升级到5.93,可更样按的主题和插件都已更新到最版,可点击WordPress后台的议表盘,看到健康与状态竟然不是很健康,三个问题出现了,上图。

其实是两个问题,已检测到活动的PHP会话和REST API属于同一个问题,看描述就知道了,同样是调用REST API,这个留到明天再聊。
先聊简单的,PHP默认时区无效。
先理解一下问题给出的描述:
PHP的默认时区在WordPress载入后被date_default_timezone_set()函数调用修改,这可能会影响日期和时间的正确计算。
参考了一下WordPress的技术文献,再结合度娘给予改问题的推文,发现该问题对网站本身并没有什么不良的影响,但对于SEO会带来不可预知的影响,具体影响千巧哥不得而知,有兴趣的可以度娘了解一下,这里就不复制粘贴了。
同样,按照度娘推文的方法一个个去试,没有一个方法能解决问题的,有时真觉得度娘开始不可靠了,得到的都是相似度极高的答案,有很多就是复制粘贴,除了标题,啥都没改。
有了前车之鉴,千巧哥这次直接停用了在用的主题,启用了默认主题,好家伙,真是主题惹的祸,停用后立刻正常。
想着是更新WordPress后才出现的问题,在后台设置–常规里的时区确定设置正确。

启用第三方主题后才出现的问题,肯定需要在第三方主题的代码去找原因了。
这时,如果你是在主题官网直接购买的主题,可将问题直接丢给作者来解决,可千巧哥用的是廉价的正版授权,没法咨询,更没法要求作者帮忙解决。
来吧,兵来将挡,进入宝塔面板后台,再进入到主题的根目录,打开文件functions.php,搜索date_default_timezone_set()

看到注释了吧
//获取wordpress系统中设置的时区 进行初始化
好,这就是好作者的好习惯,一目了然,这句代码就是调用时区的。
date_default_timezone_set($timezone);
因为未升级WordPress是正常的,这段代码之前是没问题,更新版本之后,估计是无需二次调用了,而这段代码属于二次调用,所以导致问题出现。
解决方法也很简单,把这句代码直接删除,或注释掉就可以了。
不知自样注释掉,前面加两个斜杆就可以了,就像以下这样。
// date_default_timezone_set($timezone);
至此,该问题解决。
HTTP状态代码就像来自Web服务器的简短注释,它被添加到网页的顶部。它实际上不是网页的一部分。相反,它是来自服务器的消息,让您知道服务器收到查看页面请求后的情况。
每次浏览器与服务器交互时都会返回这些类型的消息,即使您没有经常看到它们。如果您是网站所有者或开发人员,了解HTTP状态代码至关重要。HTTP状态代码是诊断和修复网站配置错误的重要工具。
本文介绍了最常见的服务器状态和错误代码,并说明它们所代表的意义。
每次单击链接或键入URL并按“Enter”键,浏览器都会向Web服务器发送请求。Web服务器接收并处理请求,然后将请求的资源与HTTP标头一起发回。
HTTP状态代码将在HTTP标头中传递到您的浏览器。虽然每次浏览器请求网页或资源时都会返回状态代码,但大多数情况下您都没有看到它们。当出现问题时,您可能会在浏览器中看到HTTP状态代码。这是服务器的反馈信息,告诉你:“有些东西不对。这是一个解析出错的代码。“

Google 404 HTTP状态代码
如果您想查看浏览器通常不会显示的状态代码,可以使用许多不同的工具来查看。浏览器扩展适用于开发人员友好的浏览器,如Chrome和Firefox,还有许多基于Web的标题提取工具,如Web Sniffer。
要使用这些工具查看HTTP状态代码,请查看报告顶部附近出现的行“Status:HTTP / 1.1”,后跟服务器返回的状态代码。
HTTP状态代码列表分为5个类:
在每个类中,存在各种服务器代码,并且可以由服务器返回。每个单独的代码都具有特定且独特的含义。
有超过40种不同的服务器状态代码。但是,实际上你会遇到的不到十几个。如果您运营一个网站,那么就应该懂得如何处理这些代码,能够读懂HTTP状态代码后面的意义及时处理产生错误代码的问题。查看下面的HTTP状态代码列表:
请求太多导致的429错误码
建立数据库连接时出错
上面的列表解释了您可能会定期遇到的大多数HTTP状态代码。但是,您可能会不时遇到更多不常见的其他HTTP状态代码。您可以在以下链接了解罕见HTTP状态代码的更多信息:
这段时间(实际上已经持续了好长一段时间)只要服务器在中国的WordPress站长应该都会有一件烦心的事情,每当要升级WordPress版本,又或者升级WordPress平台的主题或者插件,都会受到“429 Too Many Requests”报错提示。

有些WordPress站长,遇到429报错可能第一时间的反应是,可能WordPress安装包,WordPress主题或者插件文件出现了问题。其实是有可能的,但这一次,并不是。而只是国内无法访问wordpress.org的服务器而已。
那么是不是国内墙掉了wordpress.org呢,小编是ping了下wordpress.org,发现国内还是正常的访问wordpress.org的IP地址,只是不太稳定而已。如下图所示:

既然wordpress.org并没有被墙,小编继续翻阅资料,看能否找到一些蛛丝马迹。终于在wordpress.org论坛找到:《Is wordpress.org restricting visits from China region?》

大概的意思就是:
(1)WordPress并没有地域限制。中国区域出现429报错,不是WordPress特别限制导致。
(2)WordPress论坛人员回复称,最近很可能是来自该IP地址的太多请求,因此您达到了ratelimit。
(3)中国提问者提出质疑,“我知道ngx_http_limit_req_module是有用的用于限制速率的nginx模块,但是很难相信中国的大部分地区都受到限制。IP地理位置数据库看起来很像地理阻止,它返回HTTP 429而不是HTTP 403。”
因此,为什么WordPress在更新版本,或者升级主题及插件时,访问wordpress.org网站,均会报429错误?就留由大家去猜测了。
就是当你需要更新到最新版本的WordPress时,又或者是更新主题及插件更新时,可以通过翻墙到wordpress.org,下载WordPress安装包、WordPress主题及插件,再手动上传到服务器执行更新。
将以下PHP代码添加到WordPress安装文件的function.php,使用第三方镜像文件来实现WordPress版本更新。
return $value;
});
<?php
add_filter('site_transient_update_core', function($value){
foreach ($value->updates as &$update) {
if($update->locale == 'zh_CN'){
$update->download= 'http://www.xintheme.cn/download/wordpress-zh_CN.zip';
$update->packages->full= 'http://www.xintheme.cn/download/wordpress-zh_CN.zip';
}
}
return $value;
});
上述两种方案,方案1过于麻烦,流程相对比较复杂;方案2仅限于更新WordPress版本,无法更新WordPress主题及插件。
我们更建议使用第3种方案,只需要安装并启用Kill 429插件,即可实现直接升级WordPress版本,及更新WordPress主题、插件。
Kill 429免费插件下载地址:点击下载
注:目前插件不算太完美,有时候点击安装或者更新时,也会超时,但可以尝试再安装及更新,就能够成功了。

via naibabiji.com
相信大部分WordPress站长都会遭遇过这样的情况,在尝试访问WordPress网站被告知某些内容是“禁止”或没有权限访问?如果是这样,您可能会遇到WordPress上的403 Forbidden Error。
在自己的WordPress网站上遭遇这样的错误,对于部分新站长来说可能会有些惊慌失措,在网上搜索各种相关的知识文档,希望快速修复错误。这不,我们已经想到了这一点,编写以下教程以帮助您修复WordPress上的403 Forbidden Error,让网站尽快恢复正常。

403错误页面示例
与许多其他常见的WordPress错误一样,403 Forbidden错误是Web服务器用于与Web浏览器通信的HTTP状态代码。
HTTP状态代码 – 每当您使用浏览器连接到网站时,Web服务器都会使用称为HTTP标头的内容进行响应。通常,这样的交互只会在后端执行,除非是发生了错误。
但是,如果出现问题,服务器将使用不同的编号HTTP状态代码进行响应。虽然这些数字也是我们站长十分讨厌的东西,但实际上这些代码非常重要,因为它们可以帮助您准确诊断网站上出现的问题。
403错误意味着您的Web服务器接收到客户端(即您的浏览器)正在发出的请求,但服务器将无法满足该请求。
在更人性化的术语中,它基本上意味着您的服务器确切地知道您想要做什么,它只是不会让您这样做,因为您由于某种原因没有适当的权限。这有点像你想要参加私人活动,但出于某种原因,你的名字被意外地从访客名单中删除了。
除了本文的403错误及我们几天前提及的503错误,还有500错误、502错误及504错误等,后续我们会尽可能对每一种HTTP错误状态代码进行解说及提出相关的解决方案。
WordPress上产生403 Forbidden Error的两个最可能的原因是:
.htaccess当然还有一种可能是你的WordPress博客安装的某个插件存在问题,导致了403错误产生。 在本文中,我们将向您逐一说明如何解决所有这些潜在问题。
与许多其他HTTP状态代码一样,此错误代码也会存在很多不同的变体。以下是您可能遇到的一些常见变体:
基本上,如果您看到任何提及“forbidden(禁止)”或“not allowed to access(不允许访问)”,都属于403 Forbidden错误。
为了帮助您修复WordPress网站上的403错误(403 Forbidden Error),我们将详细介绍三个单独的故障排除步骤:
WordPress网站服务器上的每个文件夹和文件都有自己唯一的文件权限,进行权限控制:
这些权限由3位数字表示,每个数字表示上述3个类别中每个类别的权限级别。
通常,这些权限只适用于您的WordPress网站。 但是,如果某些内容与WordPress网站上的文件权限混淆,则可能导致403 Forbidden错误。
要查看和修改站点的文件权限,您需要通过FTP/SFTP客户端连接你的WordPress服务器。
下面教程,我们将使用免费的FTP/SFTP客户端FileZilla。 但基本也适用于任何FTP程序。
连接到服务器后,可以通过右键单击来查看文件或文件夹的权限:

通过FileZilla查看文件或者文件夹权限
当然,手动检查每个文件或文件夹的权限并不实际。 相反,您可以批量设置所有文件夹内的文件或者文件夹权限。
根据WordPress Codex,WordPress官方推荐的文件及目录权限设置为:
非常重要非常重要非常重要:wp-config.php文件权限应该是440或400。
要设置这些权限,请右键单击包含WordPress站点的文件夹(虚拟服务器路径可能为·/www/*/public,VPS服务器路径可能为·/home/wwwroot/www.yourdomain.com)。 然后,选择File Attributes(文件属性):

在FileZilla中批量编辑文件权限
在“Numeric value(数字值)”框中输入755或750。 然后,选择Recurse into subdirectories(递归处理子目录)并Apply to directories only(只应用到目录):

WordPress目录的文件权限
一旦为目录应用了正确的权限,您可以按照同样的方式应用文件权限设置。

WordPress文件的文件权限
不要忘记最后的一个步骤,手动调整wp-config.php文件的权限,将权限设置为数字值440或400:

wp-config.php文件的权限设置
如果文件权限问题导致403 Forbidden Error,现在您的站点应该已经恢复正常。否则,继续往下看。
如果你的WordPress使用NGINX Web服务器,则此不存在此潜在问题,因为没有.htaccess文件,你可以直接阅读下一个问题排除方案-插件故障。
但是,如果您WordPress网站所在的服务器使用Apache Web服务器,则403 Forbidden错误可能是由您站点的.htaccess 文件问题导致。
.htaccess 文件是Apache Web服务器使用的基本配置文件。 您可以使用它来设置重定向,限制访问您的网站或部分页面等。
.htaccess 文件功能强大,但不容得一个小错误,否则可能会导致大问题,如403 Forbidden错误。
与其试图检查 .htaccess 文件内容(除非你非常熟悉),不如简单粗暴地强制WordPress生成一个新的,干净的 .htaccess文件。
如下:
.htaccess 文件.htaccess 文件
删除 .htaccess 文件
下面我们来强制WordPress生成一个新的,干净的 .htaccess 文件:

如何生成新的干净的 .htaccess 文件
执行以上操作后,WordPress将为您生成一个新的 .htaccess 文件。
如果您的网站的文件权限和.htaccess文件都存在问题,那么跟着下来就要对你的WordPress网站的插件进行排查了。因为403错误有可能是插件的错误或不同插件之间的兼容性问题导致。
无论问题是什么,找到有问题的插件的最简单方法是进行试错测试。 具体来说,您需要停用所有插件,然后逐个重新激活它们,直到找到罪魁祸首。
如果您仍然可以访问WordPress仪表板,则可以通过WordPress仪表盘的插件–已安装的插件来逐个插件停用测试。
如果你无法访问WordPress仪表盘,取而代之的是你需要通过FTP/SFTP连接到WordPress网站服务器。然后按照以下步骤来检验插件:

重命名插件文件夹
通过重命名文件夹,您已经成功地禁用了站点上的所有插件。
再次尝试访问您的网站。 如果您的站点正常工作,我们可以知道其中一个插件导致403 Forbidden错误。
要查找罪魁祸首,请逐个重新启用插件,直到找到导致问题的插件为止。
更改插件文件夹的文件名后,访问WordPress仪表盘–插件–已安装的插件应该看到许多关于插件不存在的错误提醒:

重命名插件文件夹后插件不存在提醒
要解决此问题并重新获得管理插件的功能,请使用FTP程序将文件夹的名称更改回plugins。 因此,如果您将其重命名为plugins-disabled,只需将其更改回plugins即可。
完成命名恢复后,您将再次看到所有插件的完整列表。 只有都将被停用:

逐个重新启用您的插件
使用“启用”按钮逐个重新启用它们。每次启用一个插件时,请尝试刷新一下403错误页面以确认问题插件。
一旦你找到导致问题的插件,你可以尝试联系插件作者修复(或者选用可代替插件)。
403 Forbidden错误表示您的服务器正在运行,但由于某种原因您不再有权查看您的网站或部分页面。
导致此错误的两个最可能原因是您的WordPress网站的文件权限或 .htaccess 文件的问题。 除此之外,一些插件问题也可能导致403 Forbidden错误。
如果你的WordPress网站也遭遇403错误,可以按照上述操作恢复你的网站。

随着VPS服务器的流行,SSH也成为了站长必备的开发工具。该工具可授予高级用户访问关键平台和软件的权限,使编码和其他任务更容易,更快速且更有组织性。
如果经常使用SSH,相信对“Connection refused(连接被拒绝)”错误不会陌生,第一次遭遇这样的错误,甚至可能会让站长手足无措。但,这其实是一个常见问题,完全可以通过简单的故障排除进行修复。
本文,我们将讨论什么是SSH以及何时使用它。然后,解释一些可能导致SSH连接被拒绝的常见原因,包括在PuTTY中。最后,提供一些故障排除教程。
SSH(全称为Secure Socket Shell)是一种用于通过不安全网络安全访问站点服务器的协议。换句话说,这是一种安全登录远程服务器及使用命令行的终端界面:

使用SSH访问服务器
与仅允许您上载,删除和编辑服务器上的文件FTP文件传输协议不同的是,SSH可以完成各种各样的任务。例如,如果WordPress错误使您无法进入网站,则可以通过SSH远程访问服务器。
该协议支持使用几个关键的开发人员工具,包括:
请务必注意,使用SSH需要熟悉服务器运维管理知识。不建议小白用户直接尝试自行解决SSH问题,应该寻求开发人员或服务器提供商帮助。
SSH很安全高效,但也能够让你感受“一失足千古恨”。输入简单的错误命令可能会导致整个服务器瘫痪,因此,了解自己在做什么至关重要。
不幸的是,当您尝试通过SSH连接到服务器时,可能会发生许多情况,这可能会导致显示“Connection refused(连接被拒绝)”错误。
以下是一些可能会给您带来麻烦的最常见问题。
使用SSH连接服务器的前提是,服务器必须正常运行SSH daemon-该程序在后台运行以侦听和接收连接。
如果此服务关闭,您将无法成功连接到服务器,并且可能会收到“Connection refused(连接被拒绝)”错误:

终端连接被拒绝报错
服务器SSH daemon可能由于多种原因而关闭,包括爆发性的流量高峰,数据中心故障,DDoS攻击等。除了将在下面提到的故障排除步骤外,您应该主动联系服务器提供商,以确定问题的根本原因。
如果您怀疑SSH服务可能已关闭,则可以运行此命令了解:
sudo service ssh status
如果命令行返回关闭状态,则您可能已经找到导致连接错误的原因。
一般情况下很少人会犯这个错,但谁能保证呢?
因此,务必确保在尝试连接服务器时输入正确的凭据信息。
您还可以通过运行以下命令来检查哪个端口用于SSH:
grep Port /etc/ssh/sshd_config
因此在无法链接SSH时,应该检查并确保输入正确的凭据,特别要检查是否输入错误的IP地址或端口。
“端口”只是连接到服务器时定向到的端点。除了确保您输入正确的端口之外,您还需要检查使用的端口是否已启用。
任何开放的端口都是安全漏洞,因为黑客可以尝试利用它并获得对服务器的访问权限。因此,未使用的端口通常会关闭以防止受到攻击。
如果端口22或自定义SSH端口已关闭,则也可能导致“Connection refused(连接被拒绝)”错误。您可以通过运行以下命令来检查端口是否正在侦听:
sudo netstat -plnt
命令行应返回端口及其各自的“状态”列表。如果你要使用的端口为22,那么它的状态应该为LISTEN。如果不是,则需要重新打开端口才能连接到服务器。
如前所述,服务器使用SSH daemons侦听并接受连接。因此,如果你需要连接的服务器未安装SSH服务,则将无法使用SSH访问该服务器。
一般来说,默认情况下,几乎所有VPS服务器都安装了SSH daemon。未安装这种情况多出现在本地主机或专用服务器上。
由于开放端口存在安全风险,因此为保护服务器免受黑客攻击而安装的防火墙有时会拦截服务器连接。不幸的是,服务器管理员尝试通过SSH进入其服务器也可能会由于防火墙设置而收到“拒绝连接”错误。
如果您的设置似乎都正常,但仍然无法连接,请查看防火墙规则。您可以使用以下命令行来检测:
sudo iptables-save # display IPv4 rules
sudo ip6tables-save # display IPv6 rules
返回的信息不尽相同,您需要查找以下元素以确定防火墙是否拦截SSH连接:
如果在上面关于dport 22的命令结果中搜索,应该能够确定防火墙是否阻止SSH连接。如果是,则必须更改规则以接受请求。
PuTTY是一款最受欢迎的SSH客户端,帮助站长在SSH协议下安全地连接并管理服务器。与PuTTY相似的另一个客户端是Xshell。

PuTTY下载页面
如果在使用PuTTY连接服务器时出现“Connection refused(连接被拒绝)”错误,则可能是上面列出的原因之一。
这是SSH连接错误,无论您使用的是PuTTY,终端还是其他任何通过SSH连接到服务器的软件。
遇到SSH连接错误时,根据原因可以采取一些步骤来进行故障排除。以下是一些技巧,希望能够帮助你解决“Connection refused(连接被拒绝)”错误:
sudo service ssh restart 尝试使其再次运行。grep Port /etc/ssh/sshd_config 命令仔细检查SSH端口后 ,请尝试使用正确的详细信息再次连接。sudo apt install openssh-server在要连接的服务器上安装SSH工具(例如OpenSSH)。如果你使用的服务器提供技术支持,不妨直接与技术人员联系,比起尝试自行解决问题可能更明智。如果上述解决方案均无效,则可以这方面技术比较靠谱的人员协助,或者通过互联网找找看是否有应对的措施。
您是否通过SSH收到“Connection refused(连接被拒绝)”错误?借助此指南,了解为什么发生这种情况以及如何解决SSH连接错误。
在许多情况下,使用SSH连接服务器很方便。尤其是当您无法访问WordPress仪表板,你还可以通过WP-CLI运行命令,使用Git跟踪站点代码的更改,以恢复站点访问。
尽管SSH连接错误可能是由多种原因引起的,但以下是一些最常见的原因:
相关阅读:《站长必藏:26个Linux服务器管理常用SSH命令行》
WordPress网站URL访问遭遇报错是件让站长头痛的事情。一些常规的报错网上都可以找到对应的缘由及对应解决办法。遗憾的是,503错误让人看起来有点困惑,不会反馈太多信息,让众多站长无从下手。
此文将会有助于理解WordPress中503错误的最常见原因。 之后,在对错误进行故障排除时,您需要有条不紊,执行几个步骤才能找到根本原因。
在本文中,我们将介绍503错误是什么以及它通常如何显示。 然后,我们将通过六个步骤以对其进行故障排除。
遇到503错误时,表示相关服务器不可用。 这可能是因为服务器繁忙了,或者它处于维护状态。 与其他类似的错误代码不同,503表示您的网站已联机并正在运行,但目前无法访问。
令人烦恼的是,这个特殊的错误,它几乎没有给你任何信息。 大多数情况下,它只显示“服务暂时不可用”消息。就好比如打电话给餐馆,他们只是告诉你他们目前不接客,但拒绝告诉你什么时候他们会再次接单。
如果幸运的话,503错误代码是因为您的WordPress网站正在维护中。 当您更新插件,主题或核心软件时,WordPress会短时间内将您的网站设置为维护模式:

WordPress维护模式
通常,此超时非常简短,没有人会注意到它。 但是,503错误仍然可能存在其他情况,您将面临更大的问题需要处理。 毕竟,用户不仅无法访问您的网站,而且您也将失去对WordPress管理后台的访问权限。 这意味着您无法以任何方式更新您的网站,并且为了进行故障排除,您需要深入了解其文件。
503错误可以通过很多方式显示出来。 但是,几乎每个变体都伴随着503代码,因此很容易识别。
以下是您可能遇到的一些变体,具体取决于您的服务器配置和浏览器:
无论您遇到的报错码是什么样子,都意味着您需要在它对用户产生负面影响之前快速处理。
由于您经常无法确定在任何给定情况下导致503错误的原因,因此您需要逐步进行故障排除。 以下六个步骤分别涵盖了一个解决方案,旨在解决不同的错误起因。
完成每个步骤后,请花点时间返回到您的网站,看看503错误是否消失。 如果是,您已成功解决了问题。 如果没有,请继续执行该过程的下一步。
WordPress中503错误的最常见原因之一是插件兼容性问题。 要确定是否发生了这种情况,您需要禁用所有网站的插件。
由于503错误导致您无法访问WordPress管理后台,因此您需要使用FTP客户端执行此步骤。 如果您没有安装对应的工具,我们建议使用FileZilla。
FTP客户端准备就绪后,通过它连接到您的网站并导航到您的WordPress根文件夹。 如果您找不到它,通常称为public_html,html,public,www或您网站的名称。一般路径为/home/wwwroot/www.yourdomain.com/wp-content,如下图所示:

WordPress插件FTP目录
打开该文件夹,然后导航到wp-content目录。 在里面,您将看到一个名为plugins的文件夹,其中包含您站点上安装的每个插件(活动和非活动)的各个子目录。
您现在要做的是右键单击插件文件夹,然后将其重命名为其他内容。 我们建议使用plugins.old或plugins.deactivated,以便日后轻松识别。

WordPress plugins 文件夹重命名
WordPress现在无法找到任何插件。当发生这种情况时,它会自动禁用这些插件。
现在,尝试访问您的WordPress仪表板。如果503错误消失了,那么你可以假设其中一个插件是罪魁祸首。你所要做的就是将这个有问题的插件揪出来。
返回到wp-content目录,并正确重命名原始插件文件夹。然后,您需要逐个禁用每个插件,直到找到罪魁祸首。
为此,请打开wp-content/plugins目录。在里面,你会找到每个插件的一个文件夹。您要遵循的流程与前面的步骤大致相同:
如果在完成这些步骤没有找到解决方案的情况下,您可以继续执行下一步的故障排除。
既然你已经排除了插件为503错误出现的原因,那么现在是时候对你的WordPress当前正在使用主题做同样的事了。 实际上,您的主题也可能会产生兼容性问题。
不幸的是,该过程与上述不同。 如果只是重命名主题文件夹,WordPress将不会恢复为默认主题,最终会出现“主题目录”、“主题名称不存在”之类的错误。或者如果您尝试重命名整个主题目录文件夹, 最终出现“错误:主题目录为空或不存在。 请检查你的安装。”

主题目录不存在错误提示
因此,您需要通过登录phpMyAdmin来访问您的WordPress数据库。
单击“wp_options”表,然后单击“搜索”选项卡。 您需要在“option_name”下搜索template。

数据库wp_options表
在“option_value”列下,您将看到主题的当前名称。 将其更改为默认主题之一,例如“twentynineteen”。

wp_options 主题名称
再次检查您的网站,看看是否修复了错误。 如果已修复,即意味着是您的WordPress主题的问题,您可能想尝试重新安装它或恢复到最近的备份。

不同的CDN服务商,这一块的流程可能会有所不同,具体取决于您使用的CDN。 众所周知,Cloudflare会导致503错误。 如果您找不到暂停选项的选项,请查看您的服务知识库,其中通常包含详细说明。
如果您不使用CDN或发现暂停您的服务对您的问题没有帮助,那么我们需要继续尝试其他方法。 请记住在继续之前重新启用您的CDN。
WordPress Heartbeat是一个内置于WordPress中的API,该平台用于自动保存内容,显示插件通知,提醒你其他人正在处理您尝试访问的帖子等等。
就像常规心跳一样,API在后台以高频率工作,因此它不会遗漏任何内容。 如您所想,此API会占用服务器资源。 通常,这不是问题,但在某些情况下,如果您的服务器无法处理负载,可能会导致503错误。
确定Heartbeat API是否是问题的核心的最快方法是暂时禁用它。 为此,请再次通过FTP连接到您的WordPress网站,然后打开当前的主题文件夹并在以下位置查找functions.php文件:

WordPress主题的functions.php文件
右键单击该文件,然后选择“查看/编辑”选项,该选项将使用本地文本编辑器将其打开。 打开后,您需要添加以下代码段:
add_action( 'init', 'stop_heartbeat', 1 );
function stop_heartbeat() {
wp_deregister_script('heartbeat');
}
这三行代码告诉WordPress禁用Heartbeat API。 将更改保存到functions.php文件,关闭它后,再次尝试访问您的网站。
如果503错误消失,那这个API是问题所在。 但是,完全禁用它会使WordPress许多有用的功能不可用。 相反,我们建议您降低WordPress的Heartbeat频率,以免造成问题。
最简单的方法是安装Heartbeat Control插件。启用插件并导航到“设置”>“Heartbeat Control ”。 查找“Modify Heartbeat”选项,并将频率(Frequency)降至尽可能的数字:

Heartbeat Control插件频率设置
将更改保存到您的设置并返回到functions.php文件,要使上述更改生效,您需要删除之前functions.php文件添加的代码并将更改保存到文件中。
在此阶段,如果Heartbeat API出现问题,那么你应该已经解决了503错误。 如果不是,那么是继续尝试不同的方法。
如果到目前为止所有修复依然未能解决503错误,那么问题很可能是由于缺少服务器资源。 也就是说,您需要升级您的服务器,看看是否能解决问题。 如果你使用廉价的WordPress主机,它们往往会限制资源导致503报错。
但是,升级服务器是一个重大决定。 聪明的举措是首先联系您的服务器提供商,并与他们讨论503错误,以及您迄今为止尝试解决它的步骤。 支持团队应该能够帮助您解决问题,并建议您是否需要升级服务器。
您还应该利用错误日志。 如果您的网站服务器使用的LNMP搭建,通过网站服务器/home/wwwlogs路径,可以快速找到网站访问错误日志(一般以nginx_error.log或者error.log命名)。 这可以帮助您快速缩小问题范围,特别是如果它是由您网站上的插件产生的。

检查错误日志记录中的503错误
如果您的主机没有日志记录工具,您还可以将以下代码添加到wp-config.php文件以启用日志记录:
define( 'WP_DEBUG', true ); define( 'WP_DEBUG_LOG', true ); define( 'WP_DEBUG_DISPLAY', false );
Debug日志通常位于/wp-content目录中。 在其中,查找名为debug.log的文件并将其打开。
也有一些服务器提供商,可能会有一个名为“logs”的专用文件夹。

WordPress错误日志文件夹 (SFTP)
查看debug日志可能会让很多站长望而却步,但它并不像您想象的那样难以阅读。 简而言之,日志包含按时间顺序在您的网站上弹出的每个错误。 它显示了导致每个错误的文件,以及涉及哪些特定代码行。
注意:您不会在日志中找到对503错误的直接引用。 即便如此,如果所有其他方法都失败了,它可以通过向您显示导致问题的文件来指向正确的方向。 这样,你就会知道接下来要把重点放在哪里。 正如我们在上一步中提到的,如果您需要进一步的帮助来解决此错误,现在是与您的服务器提供商联系,让他们来协助解决这个问题。又或者找个懂服务器运维的朋友帮忙。
您还可以检查Apache和Nginx中的日志文件,这些文件通常位于此处:
如果由于致命的PHP错误而导致503错误,您还可以尝试启用PHP错误报告。 只需将以下代码添加到出错误的文件中即可。 通常,您可以在Google Chrome DevTools的控制台标签中缩小文件范围。
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);
您可能还需要使用以下内容修改php.ini文件:
display_errors = on
一般情况下,只有当您将网站置于维护模式时,才会显示503错误。 但是,如果它不是这个原因,那么你将不得不卷起袖子进行故障排除。
要了解503错误的根本原因,您需要按照以下步骤进行修复:
你有没有遇到过WordPress中的503错误? 在下面的留言评论与我们分享您的经验!

使用诸如WordPress之类的开源平台既有优点也有缺点。它既灵活又可无限扩展,但还要求你对PHP、Linux及Mysql等有一定的了解。在执行故障排除和解决在使用平台时通常会出现的一些错误时,这尤其重要。
打个比方,你被告知达到站点的“PHP内存限制”。很多时候这对于小白用户来说,遇到这种情况只能够手足无措,尤其是因为您不知道是什么原因导致了该问题或如何解决它。其实,此问题是最简单的问题之一,即使对于相对WordPress小白用户,也应该可以解决。
下面我们将解释什么是WordPress内存限制错误,它为什么会在你的WordPress网站上发生,及修复此错误的选项。
WordPress已经是一个非常成熟与稳定的开源平台,但“世界无完美之物”,也难以避免错误。你可能会遇到许多常见问题,例如臭名昭著的“ 死亡白屏 ”或处于“维护模式”的网站。
不过,大多数WordPress错误并不难解决和修复。尽管如此,它们可能会对小白站长造成威胁,特别是因为他们完全不知道有关发生了什么问题以及如何解决问题的任何信息。
其实这是我们遇到最常见的问题之一– WordPress内存限制错误。这也可以称为“ PHP内存限制错误”,一般你会看到如下类似的提示信息:
fatal error: allowed memory size of 67108864 bytes exhausted
该错误可能在许多不同的情况下发生。但是,最有可能发生在您对网站执行特定类型的操作时,例如:
如果您在WordPress网站上遇到此错误,请不要担心。它背后的原因很简单–我们一起来了解它为什么产生,就能很好的解决了。
报错信息中的“内存限制”即错误之根源。就像其他任何东西一样,您的网站需要一定数量的内存才能存储其所有数据。这包括其数据库和文件,您的所有内容,由插件和主题添加的代码等等。
此内存由服务器提供。购买服务器主机时,将为您的网站分配一定数量的资源,包括用于存储网站及网站运行稳定的内存。
当然,购买昂贵的服务器主机一般情况下可为您的网站提供更多的空间和内存。但,对于小站长来说,都是从基本服务器套餐开始的,这不一定是一个问题。但是,这确实可能因你的服务器分配的内存不足导致内存限制错误。
随着站点的扩大或开始使用更复杂的插件和脚本,最终可能会达到内存限制。
当WordPress的某些工作导致较多内存占用时,就可能会出现PHP内存限制错误,无法完成您尝试执行的操作。
如果你运行的是WordPress 5.2或更高版本,则可以使用“站点健康”工具检查网站上当前的PHP内存限制。在WordPress仪表板中,转到“工具”→“站点健康”→“信息”,然后向下滚动到服务器部分。在这里,您可以看到服务器上的PHP内存限制。

检查PHP内存限制
如果可用内存很少(例如32M),那么:您需要增加分配给站点的内存量。下面我们将介绍两种不同的方法,以解决此问题。
与许多常见错误不同,WordPress内存限制问题很容易解决。
当网站达到PHP内存限制时,实际上只有两种解决办法。可以增加分配给站点的内存量,也可以选择升级服务器。让我们探讨一下何时以及如何使用这两种方法。
这看似简单,但有时显而易见的解决方案是最佳解决方案。如果您的站点内存不足,那么最简单的方法就是增加它可以访问的内存量。
显然,您可以增加限制的范围取决于你的网站所在服务器的内存容量。在下一节中,我们将详细讨论这一方面。但是,您的站点使用的内存少于实际可用的内存并不少见。
您网站的当前内存限制是在其wp-config.php文件中设置的,该限制可能匹配或可能不匹配提供商所允许的限制。因此,第一步是尝试通过编辑文件来增加PHP的内存限制。
增加站点的内存限制将需要使用安全文件传输协议(SFTP)直接登录到站点。如果您从未执行过此操作,则首先需要安装SFTP客户端 -建议选择FileZilla,免费且相对容易上手:

FileZilla
设置并连接FileZilla之后,您应该在与以下类似的界面上查看:

FileZilla访问服务器
在界面右上区域中,你将看到包含站点文件的文件夹列表。查找站点的“根”文件夹,该文件夹通常以站点的域名命名,或称为public_html或www。打开此文件夹,然后查找名为wp-config.php的文件:

wp-config.php文件
此文件存储有关网站数据库和设置等信息。因此,请务必不要更改除我们将要查看的特定代码行以外的任何内容。实际上,在继续进行任何操作之前,最好对网站进行备份,以防您意外删除或更改了重要内容。
备份到位后,继续打开wp-config.php文件。它看起来应该像这样:

wp-config.php文件示例
然后,在文件中查找以下行:
define( 'WP_MEMORY_LIMIT', '256M' );
请注意,该文件中的数字可能有所不同,因为它代表站点的当前内存限制。甚至你还有可能找不到此行。
如果找到该行,尝试将数值调至更高。在大多数情况下,256MB应该足够,当然如果你当前设置256MB还是不够,可以尝试逐步增加。如果找不到该行,则可以将上面的代码粘贴在:“/* 好了!请不要再继续编辑。请保存本文件。使用愉快! */”的前一行。
然后,更改保存到wp-config.php文件,然后关闭FileZilla。打开您的站点,然后尝试重复首次遇到WordPress内存限制错误时所执行的操作。如果不再出现,则说明问题已解决。
如果仍然遇到错误,则可以尝试打开wp-config.php文件并进一步增加内存限制。但是,如果您尝试几次但不起作用,则可能已达到托管服务提供商允许的最大限制。在这种情况下,您需要尝试其他方法。
但是,在进行下一步之前,值得注意的是,某些主机可能不允许您通过FTP客户端访问站点。在这种情况下,您通常可以通过其他方式(例如,使用cPanel)手动更改内存限制。
又或者使用宝塔面板的站长,完成上述操作就更简单了,登录你的宝塔面板,点击文件-进入网站对应的根目录,找到wp-config.php文件,点击编辑保存即可。

宝塔面板
每种类型的主机将提供特定数量的资源。但是,有时候,这些资源可能对于您的网站而言会变得不足。
如果您尝试过如上所述那样增加站点的内存限制,但是没有起作用,第一步应该去确定网站当前所使用的服务器提供的内存容量。一般情况下你可以通过服务器提供商提供的网站后台可以查看到,又或者直接与之联系获取相关信息。
如果您已达到站点的最大内存限制,并且还是存在WordPress内存限制错误,则唯一的选择就是升级服务器配置了。
对于那些刚开始时考虑性价比而使用共享主机的站长们,可能是时候升级到独立VPS主机了,后者将会提供了更多的空间和资源。
如果考虑国外云主机,小编推荐:
Linode -特别推荐,这也是我们经常使用的国外服务器提供商。 Linode 可选的数据中心比较多,全球有11个数据中心,其中亚洲两个:孟买1个,新加坡1个,日本1个,悉尼1个;北美5个,全部在美国;欧洲2个:德国法兰克福1个、英国伦敦1个。
此外,Linode 的价格也非常低,提供最低5美金/月,但配置毫不含糊:1GB 内存、1个 CPU、20GB 的固态硬盘存储空间、1TB 流量、40GB 的入口带宽和1000GB 的出口带宽。这个配置对于搭建 Shadowsocks 服务来说,足矣。

Linode服务器价格表
Vultr –这个服务商的服务器,也是非常靠谱的海外服务器。在数据中心方面,甚至比 Linode 还要多,全球共17个数据中心,其中北美有9个(西雅图 Seattle、硅谷 Silicon Valley、洛杉矶 Los Angeles、达拉斯 Dallas、芝加哥 Chicago、新泽西 New Jersey、亚特大 Atlanta 和 迈阿密 Miami;加拿大多伦多);欧洲4个(伦敦 London、阿姆斯特丹 Amsterdam、法兰克福 Frankfurt 和 巴黎 Paris);亚洲四个(日本东京、韩国首尔、新加坡和澳洲悉尼)。
在价格上,Vultr 甚至要比 Linode 还要有优势,最低的套餐去到逆天的 2.5美金/月,当然配置会稍微比 Linode 的 5美金/月套餐稍微差一些,20GB的固态硬盘、1CPU、512MB内存和500GB 的流量。
相对于 Linode,Vultr 还有个便利性,就是后者支持 PayPal 和 比特币,前者则需要使用信用卡。

Vultr服务器价格表
如果是国内服务器提供商,这就没什么好推荐的了,无非就是阿里云、腾讯云之类的。注:我们一般采用的是阿里云。
WordPress网站上遇到错误可能会令人沮丧,尤其是如果对这个错误没有掌握太多信息时。幸运的是,WordPress内存限制错误比大多数错误更容易解决。你只要知道问题所在,并且从问题的起源点着手解决,就非常容易解决了。
在处理PHP内存限制问题时,主要有两个选择:
如果你有关于如何处理此特定错误有任何疑问,不妨留言与大家一起探讨!

您的WordPress网站是否曾突然遇到死亡白屏(WSoD),该错误会导致网站管理员和访客都无法访问您的网站。
由于缺少错误导致原因或解决方案等相关信息,WSoD也堪称无形杀手。但是,它又是最常见的WordPress错误之一。虽然死亡白屏缺少信息提示,但依据以往经验,在大多数情况下,都是可以解决的。
在本文中,我们将解释什么是WordPress死亡白屏(WSoD)及其常见原因,并且我们还将会提出九种常见的可行解决方案,以帮助您的网站尽快恢复正常运行。
正如其名称一样,WordPress死亡白屏(也称为“ WSoD”)是该错误在你要访问网页时发生时,显示一个空白屏幕。
根据不同的浏览器,您可能会收到不同的错误消息。以下是Google Chrome浏览器中的示例,其中包含HTTP 500错误警告“This page isn’t working and is unable to handle the request”:

谷歌浏览器中的WordPress死亡白屏
Mozilla Firefox浏览器的“死亡白屏”就更追求极致了,如下图:

Firefox浏览器中的WordPress死亡白屏
如您所见,它只是一个纯白色的屏幕,不包含任何有用的错误或警告消息。
WordPress死亡白屏一般是由PHP代码错误或内存限制耗尽引起的。
又或者是,由存在问题的主题或者插件导致。如果网站前台无法访问但WordPress可进入,则可能是主题插件问题。要快速检查您WordPress网站仪表盘是否正常运行,只需导航至yourdomain.com/wp-admin。
那么,应该如何解决WSoD?
当遇到WordPress死亡白屏时,我们应该尽快修复它,让我们看一下可以用来解决该问题的九种可能的解决方案。
修复WordPress的死亡白屏(WSoD)的最简单,最常见的方法之一就是简单粗暴地禁用所有插件。通常,网站由于插件更新错误而关闭。
前提是您仍然可以访问WordPress仪表盘,进入仪表盘-插件-已安装的插件,选择所有插件,然后从批量操作下拉菜单中选择禁用:

停用所有WordPress插件
如果这样可以解决问题,则需要找到最终的罪魁祸首。为此,您可以逐个启用刚才禁用的插件,每启用一个插件后重新加载网站。若在启用该插件后网站发生崩溃时,那么对应的插件则是元凶了。
如果你需要继续使用该插件,您可以更新插件到最新版本或者联系插件的开发人员寻求帮助。
如果无法访问仪表板,则可以通过FTP客户端来访问站点的文件目录。在网站根目录的wp-content文件夹下,找到plugins文件夹。将其重命名为类似于“plugins_old”的名称:

重命名插件文件夹
然后,再次在前端检查您的站点。如果可行,则需要跟前面一样,逐一测试每个插件。恢复插件文件夹为“plugins”,然后分别重命名每个插件文件夹,直到找到有问题的文件夹为止。
如果问题不在插件,则有可能是WordPress主题导致死亡白屏。若要查看是否存在此问题,可通过切换为默认主题来替换当前主题。
如果可以访问WordPress仪表盘,进入后台,然后点击菜单外观>主题。找到并激活默认的WordPress主题,例如Twenty Twenty:

二0二0主题
然后,再次测试您的站点,如果有效,则证明问题出在主题上。
如果无法访问仪表盘,则通过FTP访问站点文件夹,然后将wp-content/themes文件夹重命名为其他名称:

重命名主题文件夹
然后,WordPress将恢复至最新的默认主题。如果没有其他主题,则可以从WordPress主题市场下载一个主题,然后将其上传到主题文件夹。
之后,请再次检查您的站点。如果有效,则可能是您的主题发生冲突或更新不正确。在这种情况下,您可能需要与主题开发人员联系以寻求帮助或考虑切换为其他主题。
如果可以访问WordPress网站后台,但仍在前台看到WSoD,则可能是由于缓存问题所致。
要解决此问题,请尝试清除Web浏览器的缓存和WordPress插件缓存(假如你安装了)。
如果WordPress网站上安装了缓存插件,例如WP Rocket 或WP Super Cache,那么大多数插件会在设置页面提供清除缓存的快速方法。
以WP Super Cache为例,进入WordPress仪表盘,通过设置>WP Super Cache>Delete Cache:

WP Super Cache插件设置页面
如果还是没有解决WordPress死亡白屏问题,仪表盘无法正常工作,或者您认为已找到问题,但想更深入地了解,可以启用调试模式。这将显示网站上发生的任何错误。
要启用调试,您需要打开WordPress安装目录的wp-config.php文件。找到以下行:
define( 'WP_DEBUG', false )
将“ false”更改为“ true”,然后重新加载网站。如果此行不存在,则可以将其添加到文件顶部。
取代完全的白屏,您将会看到白屏和一些错误消息。WSoD错误消息应说明问题起源于哪个文件,如下所示:
Cannot redeclare get_posts() (previously declared in /var/www/html/wordpress/wp-includes/post.php:1874) in /var/www/html/wordpress/wp-content/plugins/my-test-plugin/my-test-plugin.php on line 38
比如上述示例中,在错误信息结尾处可以看到问题出在名为my-test-plugin的插件的第38行。我们只要禁用该插件即可解决问题。
如果启用调试模式后根本看不到任何错误,则可能需要联系主机提供商。您的服务器上可能未正确配置调试。
请记住,打开调试模式会向未经批准的用户公开网站的某些信息。因此,请确保在使用完该模式后关闭。
如果在尝试上述解决方案后WSoD空页面仍存在,或者可能是由于内存限制或内存耗尽导致出错,则需要为应用程序分配更多的内存。
这可以通过WordPress安装目录的wp-config.php文件来完成。打开文件并添加以下代码:
define('WP_MEMORY_LIMIT', '64M');
如果这行不通,再试试下面的办法。在常规环境中,您可以使用.htaccess文件来增加内存限制。只需添加以下行:
php_value memory_limit 64M
如果无法访问.htaccess文件,则可以通过编辑php.ini 文件来增加内存限制。
为此,请通过FTP连接到服务器。在网站的根目录中,查找php.ini文件。并在该文件内的任何位置添加以下行:
memory_limit = 64M
如果仍然没有足够的内存可分配,则应用程序中可能存在问题。也许是主题或其中一个插件正在使用过多的内容资源。
在这一点上,您可能需要找个技术人员通过站点的SQL日志和其他资源统计信息查看原因,或者找主机提供商提供帮助。参考阅读《如何解决WordPress内存限制错误(2种方法)》
WSoD的另一个潜在原因是文件权限问题。但是,除非您真的知道自己在做什么,否则不建议轻易手动去更改WordPress的目录或者文件的权限,因为这可能会无意中创建攻击者可以利用的漏洞。
当涉及WordPress权限时,要遵循三个简单规则:
如果拥有服务器的SSH访问权限,则可以进入WordPress根目录,使用以下命令应用适当的规则:
sudo find . -type f -exec chmod 664 {} +
sudo find . -type d -exec chmod 775 {} +
sudo chmod 660 wp-config.ph
如果不确定如何执行此操作或担心失误,还是找Web主机提供商寻求帮助吧。
有时WordPress会遇到更新问题,例如服务器超时。通常,此问题会自动解决。但是,在极少数情况下,它可能会导致WordPress死亡白屏。
这种情况下,应该做的第一件事是进入WordPress根目录,并查看是否存在.maintenance文件(该文件的名称也可以缩写)。
你需要做的事情就是尝试删除该文件,然后再次加载您的网站。
如果更新成功,但WordPress无法自动删除此文件,则一切应恢复正常。
如果更新未完成,则它可能会自动重新启动,在这种情况下,情况应该会恢复正常。
如果均失败,请尝试手动更新WordPres,也可以解决解决该问题。
关于WordPress维护模式的修复,建议查看“WordPress维护模式 – 故障排除和自定义页面教程”文章进一步了解。
WordPress发生WSoD死亡白屏的另一个常见原因是,执行WordPress网站代码编辑时 ,意外输入了错误的内容或使用了错误的语法。
一个字符放置在错误的位置可能会破坏整个网站,这就是为什么我们永远不要在生产环境进行网站代码编辑的原因。
不过不用担心。可以通过FTP连接到站点,并还原网站备份。作为一位WP站长,应该保持良好的网站数据备份习惯:你应该熟悉14个最佳WordPress数据库插件[WP数据库备份、优化及迁移]
在宝塔面板上,对网站执行数据备份或者恢复,都非常简单:
如果您是宝塔用户,则可以通过宝塔控制面板的计划任务,创建备份数据库或者备份网站计划任务,支持按周期定时备份,非常方便。

宝塔控制面板备份计划
如果是恢复数据库备份,您只需要进入宝塔控制面板,进入数据库菜单,找到你需要恢复的数据库,点击“有备份”,选择需要恢复的备份版本,点击“恢复”即可。

WordPress数据库恢复
如果是恢复网站备份,则可以通过访问宝塔控制面板-文件,进入/www/backup/site目录,找到网站备份压缩包,将压缩包解压到对应网站目录即可。

WordPress网站数据恢复
如果您之前在WordPress中启用了调试模式,则可能还会出现一条错误消息,提示语法错误。如果是这种情况,它应该准确地告诉你哪个文件第几行的代码出现了问题。
前面这些都做了,还是不凑效,WSoD尚未解决,则可以尝试另一种技巧。在极少数情况下,死亡白屏是由于页面或文章内容特别长导致。
在这种情况下,您可以尝试通过增加回溯和递归限制来调整站点上的PHP文本处理功能。为此,请将以下代码粘贴到wp-config.php文件中:
/* Trick for long posts /
ini_set('pcre.recursion_limit',20000000);
ini_set('pcre.backtrack_limit',10000000);
添加此代码后,保存更改。然后刷新站点以查看其是否正在运行。
WordPress死亡白屏看似另站长手足无措的故障,但只要站长了解该故障的原因及解决方法,就无需过于担忧。
在大多数情况下,简单的插件和/或主题检查即可解决WSoD问题。更加熟悉WordPress调试模式,在很多时候可以帮助解决大部分的WP问题。

你是否也曾经遭遇过WordPress无法上传文件报错提示,一般为“WordPress无法写入磁盘”,“xxx上传失败”,“无法建立目录uploads”等。
其实此类WordPress错误是最常见的错误,也是最容易解决的错误,只需通过FTP调整一些权限设置,或者情况WordPress临时文件,或者升级你的服务器,采取哪一种方案要视实际情况而定。
在大多数情况下,WordPress无法上传文件的错误是由于网站的文件权限存在问题。作为安全措施,WordPress仅允许某些用户修改其文件,包括存储上传文件的文件夹。
如果为此文件夹设置了权限,以防止用户对其进行修改或写入错误,那么上传就会失败。您可以使用WordPress自带的“站点健康状态”工具快速确定是否是这个原因导致。
进入你的网站的WordPress仪表盘,进入“工具”>“站点健康”,然后单击“ 信息”选项卡,展开页面最后面的“文件系统权限”,展开查看详细信息:

站点健康下的文件系统权限列表
uploads目录应设置为可写。如果将其设置为不可写,则说明需要处理权限问题。
此问题还有其他一些不太常见的原因。当您添加新的媒体文件时,WordPress会将其存储在一个临时文件夹中,然后再将其移动到上传到uploads目录。如果临时文件夹已满或不可用,则可能会看到“上传:无法将文件写入磁盘”错误。
此外,如果你所使用的服务器当前已经占用了所有分配的磁盘空间,则可能会看到此错误。
根据前面提到的产生此报错的可能原因,以下是解决此问题的三种解决方案。
如果WordPress上传文件错误是由于权限所致,则需要使用FTP进行修复。
您需要在计算机上安装FTP客户端,例如FileZilla。然后使用你的服务器IP、用户名、密码和端口等凭证信息登录(一般登录到服务器提供商网站用户后台可以找到相关信息)。
在FTP客户端中输入凭据,然后启动与服务器的连接。然后在/www/wwwroot/www.yourdomain.com/wp-content(常见的路径)中导航到您的上传目录:

通过FileZilla访问uploads目录
右键单击该文件夹,然后选择“文件权限”:

文件权限设置
三位数字系统用于确定站点文件的权限设置。您的上传目录应设置为755:

更改文件权限
单击确定按钮以保存新的权限设置。然后返回您的WordPress网站。
如果再次检查“站点健康”工具,则您的uploads文件夹现在状态应该为“ 可写”:

网站站点健康工具中的可写文件权限
此时,您应该可以将文件上传到WordPress网站,而不会出现问题。
如果你使用的是宝塔面板,修改uploads的文件夹权限就更简单了。
登录你的宝塔面板后台,访问文件菜单,导航到/www/wwwroot/www.yourdomain.com/wp-content/,找到uploads文件目录,点击“权限”;

宝塔面板文件管理
将uploads文件目录的权限改为755权限即可。

uploads上传目录权限设置
如果文件权限不是导致报错的原因,则可能要尝试清空WordPress用于将文件上传到您的网站的临时文件夹。不幸的是,您无法通过FTP访问该目录。
相反,您需要联系托管服务提供商以帮助您完成此任务。技术团队应该能够访问您服务器上的该隐藏文件,并确定该文件是否已满,否则会导致“上载:无法将文件写入磁盘”错误。
VPS主机用户应该自行检查下php.ini文件,找到upload_tmp_dir,改成如下:upload_tmp_dir = /tmp
您还可能已经用完了服务器提供的所有磁盘空间。如果您的站点放在虚拟主机上,随着时间的增长而发展,则这种情况尤其可能发生。
大多数服务器提供商都会在线上的服务器管理中心列出您当前正在使用的磁盘空间。
如果使用的是宝塔面板,查看当前磁盘使用情况也非常方便,登录宝塔面板在首页的仪表盘即可查看磁盘的使用情况,如下图:

宝塔面板后台服务器仪表盘数据
当然若你更喜欢使用SSH解决问题,也可以通过SSH连接服务器,使用free命令获取服务器磁盘数据。

Xshell查看服务器磁盘占用情况
如果是因为磁盘空间占满导致问题的产生,那处理这个问题也很简单。无非就是:
(1)清理服务器垃圾,比如陈旧的log日志、安装包等无效数据;
(2)升级服务器配置,增加可用磁盘。