“CURL error 28”是一个常见的 WordPress REST API 问题,它可能会影响网站的性能并可能导致网站运行异常,最常出现在 WordPress 更新升级或者 WordPress插件、主题等后台更新升级过程中。
cURL error 28: Operation timed out after 300000 milliseconds with 2489963 out of 17439164 bytes received.
这是怎么回事?如果您在 Google 中搜索,您会发现,实际上这是一个非常常见的问题,它与任何插件或 WordPress 本身无关,它与服务器组件 cURL 库直接相关,因此它可以影响任何使用 cURL 的网络软件。
cURL error 28 一般是指网络超时,最简单的方法就是:等待一会,再尝试升级或者停用后台插件再升级,升级成功后再启用插件。
WordPress的cURL是什么?
在谈到 WordPress 时,cURL 是一个 PHP 库,可帮助 WordPress 与其他站点进行通信。作为一个 PHP 库意味着如果您使用的是过时的 PHP 版本(任何早于 PHP 7.0 的版本),那么您肯定也会使用过时的 cURL 版本。因此,如果遇到 cURL 问题,您需要做的第一件事是将 PHP 版本升级到至少 7.0.x 或最新的 PHP 7.x 稳定版本。
- 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 遇到错误”的关键问题。
如果展开问题可以查看更详细的信息,包括错误信息:
REST API请求因遇到了错误而失败。
错误:cURL error 28: Operation timed out after 10000 milliseconds with 0 out of -1 bytes received.
Error: cURL error 28: Operation timed out after x milliseconds with x bytes received (http_request_failed)
为什么会出现 cURL 超时?
导致 cURL 在 WordPress 中超时的原因可能有多种:
- 例如,WordPress 防火墙插件可能会将其视为可疑活动并阻止 REST API 请求。
- 如果你的 DNS 服务器工作不正常,这也可能导致 HTTP 请求失败,导致 WordPress 出现 cURL 超时错误。
- WordPress 托管服务器配置错误,一个较低的超时阈值,这也可能会阻止一些WordPress进程正常运行。
- 使用非专业、已落后的WordPress主题而造成错误问题。
我们可以尝试通过以下方式来排查和解决 cURL 的原因:
- 暂时禁用WordPress防火墙:如果您使用的是 WordPress 防火墙或安全插件,请继续暂时停用它。
- 停用所有 WordPress 插件:WordPress 插件会发出自己的 API 请求来发送和接收数据。如果这些调用过于频繁或完成时间过长,那么这可能会导致您的站点运行状况报告中出现 cURL 错误。
- 确保您的托管服务器使用最新的软件:确保您的 WordPress 托管服务器使用最新版本的 PHP、cURL 库和 OpenSSL。在WordPress网站后台的【 工具 – 站点健康 】页面可以查看这些软件的版本信息。
- 修复 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 证书。
- 向托管服务提供商寻求帮助:如果上述步骤无法解决您的 WordPress 网站上的 cURL error 28 错误问题,则很可能是托管环境问题,建议联系空间商来处理。
希望本文提供的帮助您快速解决和修复 WordPress 中的‘cURL error 28: Connection timed out’连接超时错误。