“cURL 错误 77:设置证书验证位置时出错”,原因不明

Posted

技术标签:

【中文标题】“cURL 错误 77:设置证书验证位置时出错”,原因不明【英文标题】:"cURL error 77: error setting certificate verify locations" for no obvious reason 【发布时间】:2018-04-06 20:07:04 【问题描述】:

我在 Windows 上运行 php 7.1 并看到一个奇怪的行为。当使用 cURL 进行 API 调用时,一切似乎都工作了一点。在某个随机间隔后,调用开始失败并出现此错误。

cURL error 77: error setting certificate verify locations: CAfile: c:\<path intentionally removed>\cacert.pem CApath: none (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

重新启动 Apache 似乎可以解决问题。然后在随机的一段时间后,它又开始出现,没有明显的原因。有谁知道这里可能发生了什么?

【问题讨论】:

你试过这个问题的答案了吗? ***.com/questions/30240840/… “经过一些随机间隔”你能解决这个问题吗?与不工作时相比,工作时的环境有什么不同。通常,您会收到此错误,或者您不会收到此错误,但一段时间后您不会收到此错误。您在使用 SAN/NAS 吗?您是否请求相同的域直到它不再工作? @kaduev13 是的,我已经看到了这个问题。此处不适用。 @DanFromGermany 这也是我所期望的;它要么工作要么不工作。当我重新启动 Apache 时,它​​似乎可以工作,但会在一段时间后停止。没有 SAN/NAS;这是来自 Azure 上的 Windows VM。是的,请求是针对同一个域的。我想知道这是否与 DNS 有关。 CAfile (cacert.pem) 存储在本地,与 DNS 无关。我认为您应该尝试升级 curl/libcurl,如果无法修复,请联系 curl 的开发人员。这听起来像是与文件系统相关的 curl 错误。 【参考方案1】:

经过更多故障排除后,我能够将问题归结为 xdebug 模块。我禁用了 xdebug,现在 SSL 连接正常工作。

【讨论】:

以上是关于“cURL 错误 77:设置证书验证位置时出错”,原因不明的主要内容,如果未能解决你的问题,请参考以下文章