【问题标题】:cURL error 60 not disappearingcURL 错误 60 没有消失
【发布时间】:2017-01-07 00:14:06
【问题描述】:

我正在尝试将 google/apiclient 连接到我的网络应用程序。我正在使用它来允许成员使用他们的 Google 帐户登录。到目前为止,我可以访问 Request for Permission Google 页面,Google 会在该页面询问用户是否允许与我的应用程序共享他们的信息。当我点击允许按钮时,会发生以下情况

我进行了广泛的研究,发现几篇文章表明当您的 CA 根证书丢失或过期时会出现此问题。建议的解决方案是:

  1. https://curl.haxx.se/docs/caextract.html下载cacert.pem
  2. 以 .pem 扩展名保存文件。我还尝试使用 .crt 扩展名保存文件。我将文件保存在以下目录 C:\wamp\bin\php\php5.5.12\extras\curl-ca-bundle.crt
  3. 通过将 curl.cainfo 设置为保存下载的路径来更新我的 php.ini 文件。我更新的 php.ini 文件位于 C:\wamp\bin\apache\apache2.4.9\bin\php.ini (请注意,我使用 phpinfo() 来确保我正在编辑正确的 php.ini 文件。)
  4. 重新启动我的所有服务,瞧,错误应该会消失。

遵循这些说明似乎适用于其他开发人员,但我的错误并没有消失。是否有其他设置需要更新或更改?我还可以做些什么?我哪里做错了?

【问题讨论】:

    标签: php apache curl google-api-php-client google-api-client


    【解决方案1】:

    正确的答案确实是按照 Morfinismo 的建议下载 cacert.pem 文件并更新 php.ini 文件。

    但即使在那之后错误并没有消失。 诀窍是获得 PEM 文件的干净副本! 任何涉及 Windows 记事本或其他编辑器的方法都会损坏文件并给出 cURL 错误 60 等。最后,我找到了 https://gist.github.com/VersatilityWerks/5719158/download 并下载了一个 tar 文件使用 cacert.pem 文件的干净副本......然后一切正常。

    我还在 WAMP SERVER 中进行了以下更改:

    • 在 APACHE 中,我激活了 ssl_module
    • 在 PHP 中,我确保我的 php_curl 扩展也处于活动状态
    • 我从following website 下载了启用 SSL 的 cURL,并将 curl.exe 保存在存储 cacert.pem 文件的同一文件夹中

    希望这可以节省其他人的时间。

    【讨论】:

      【解决方案2】:

      WAMP 有两个需要更新的目录。

      • C:\wamp\bin\apache\apacheversion\bin\php.ini
      • C:\wamp\bin\php\phpversion\php.ini

      打开这两个文件,查找curl.cainfo = 行并包含您下载的证书的路径,重新启动服务,它应该可以工作了。

      我希望这会有所帮助!

      【讨论】:

      • 你提到的目录已经更新了,但是错误仍然没有消失。
      • 您好。抱歉,我之前没有发布完整的答案,但现在我发布了。 :) 让我知道它是否有效。
      • 我刚刚按照您的建议进行了更改,但错误仍然存​​在。
      • 我刚刚在另一个平台上读到,使用文本编辑器保存 cacert.pem 会损坏文件,并且应该从另一个来源下载它。我也会试试看,看看结果如何
      • 在我没有使用文本编辑器更改文件扩展名的情况下下载文件后,该错误不再存在。请点击此链接 laracasts.com/discuss/channels/general-discussion/… 并查找 GeoffGordon 的帖子
      猜你喜欢
      • 2017-06-01
      • 1970-01-01
      • 2017-08-10
      • 2021-11-24
      • 2018-07-01
      • 2017-11-21
      • 2018-04-23
      • 2017-04-22
      • 1970-01-01
      相关资源
      最近更新 更多