- 错误类型:
- WP内部错误
- 错误名称:
- REST API遇到了错误
- 英文名称:
- cURL error 28
- 错误描述:
- 无法及时响应服务器的数据请求会导致WordPress中出现“cURL error 28”报错。
“cURL error 28” 是常见的WordPress REST API问题,可能会影响网站的性能,并可能导致网站运行异常。
在本教程中,将详细介绍如何解决WordPress网站上的“cURL error 28: Connection timed out”问题。
WordPress的cURL是什么?
cURL是WordPress和许多其他Web应用使用的软件实用工具,用于使用URL发送和接收数据请求。
WordPress使用cURL处理多个API请求。它可以作为PHP编程语言的扩展使用,WordPress托管服务会为此提供帮助。
cURL库在WordPress后台工作中起着至关重要的作用。如果未正确配置,则WordPress网站将无法正常运行。
什么导致WordPress发生“cURL error 28”?
无法及时响应服务器的数据请求会导致WordPress中出现“cURL error 28”报错。
WordPress使用REST API(一种编程技术)来发送和接收数据请求。如果这些请求超时,那么您将在“站点运行状况”报告中将其视为标题为“REST API遇到了错误”的关键问题。
如果你展开该问题可以查看更多详细信息,包括错误消息:
Error: cURL error 28: Operation timed out after x milliseconds with x bytes received (http_request_failed)
您可能还会看到标题为“您的站点不能完成环回请求”的另一个相关问题。它将显示类似的错误消息,具体描述如下。
“到您站点的环回请求失败,这意味着依赖此种请求的功能将不能正常工作。”
什么可能导致cURL超时?
许多情况可能导致WordPress发生cURL超时。
例如,WordPress防火墙插件可能会将其视为可疑活动而阻止REST API请求。
如果您的DNS服务器无法正常工作,则这也可能导致HTTP请求失败并导致WordPress出现cURL超时错误。
WordPress托管服务器配置不当-设置较低超时阈值,这也可能会阻止某些WordPress进程正常运行。
既然我们大致知道导致cURL错误的原因,那么要解决话“curl error 28: Connection timed out”问题就不应该是一件难事了。
1. 暂时禁用WordPress防火墙
如果安装了WordPress防火墙或安全插件,可以暂时将其停用。
然后,访问WordPress网站后台-工具-站点健康,查看问题是否已解决。
如果发现问题已解决,则需要检查WordPress防火墙日志以查看哪些API请求已被阻止。
以帮助您确定问题的根源,进一步调整防火墙设置以不阻止合法的API请求。
2. 禁用所有WordPress插件
WordPress插件自身产生API请求以发送和接收数据。如果这些调用过于频繁或耗时太长才能完成,则可能会导致站点健康中出现cURL错误。
解决此问题的最简单方法是停用所有WordPress插件。只需转到“插件»已安装插件”页面,然后勾选所有插件。
之后,点击批量操作下拉菜单选择“禁用”,然后点击“应用”按钮。
再次访问“站点健康”报告,以查看问题是否已消失。如果这解决了问题,那么您可以尝试逐个启用插件,直到问题再次出现,即可找到问题插件。
联系插件开发者解决问题,又或者使用替代品。
3. 确保服务器正在使用最新版本软件
下一步是确保WordPress服务器使用最新版本的PHP,cURL库和OpenSSL。
您可以通过查看“工具”»“站点健康”页面下的系统信息选项卡来进行检查。
只需切换到“信息”标签,然后展开“服务器”部分。即可获取有关WordPress服务器上安装的软件的信息。
理想情况下,服务器应使用PHP 7.4.13或更高版本,curl 7.74.0或更高版本以及OpenSSL 1.1.1或更高版本。
如果没有,那么自行进行版本升级或者联系服务器提供商城升级。注:VPS服务器一般可以自行进行升级操作,虚拟主机则可能要依赖服务器提供商。
4. 修复SSL不安全内容问题
如果您的WordPress网站使用HTTPS/SSL,但配置不正确,这也可能导致Web服务器阻止不安全的cURL请求。
同样,如果WordPress网站未使用HTTPS/SSL,但是使用HTTPs URL进行了API调用,那么这些请求也会失败,并且您可能会看到以下cURL错误:
Error: cURL error 7: Failed to connect to localhost port 443: Connection refused (http_request_failed)
要解决此问题,您可以要求托管服务提供商或者自行为您的网站重新安装SSL证书。如果问题仍然存在,进一步查看常见的SSL问题,正确设置网站SSL。
5.向服务器提供商寻求帮助
如果上述步骤未能解决WordPress网站上的cURL错误28,则该问题很可能是服务器环境问题。
有许多因素只能由服务器提供商控制和修复。例如,如果其DNS服务器无法及时解析请求,则这将导致cURL请求超时。
另一种情况可能是主机服务器的连接速度慢或网络问题。
只需向他们发送带有错误详细信息的支持请求,他们的技术人员就可以进行故障排除并应用修复程序来解决。
评论留言
唇枪舌剑 (2)
布达拉宫
2021.10.15 07:10
cURL error 52 怎么处理
WBOLT_COM
2021.10.15 10:10
上述操作也合适的哦!