【问题标题】:"cURL error 77: error setting certificate verify locations" for no obvious reason“cURL 错误 77:设置证书验证位置时出错”,原因不明
【发布时间】: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 似乎可以解决问题。然后在随机的一段时间后,它又开始出现,没有明显的原因。有谁知道这里可能发生了什么?

【问题讨论】:

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

标签: php ssl curl php-curl


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2015-08-24
    • 2015-07-26
    • 1970-01-01
    • 2018-10-25
    • 1970-01-01
    • 2013-02-15
    • 1970-01-01
    • 2017-09-22
    • 2017-06-08
    相关资源
    最近更新 更多