cURL 错误 60 没有消失

cURL error 60 not disappearing

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

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

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

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

WAMP 有两个目录需要更新。

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

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

希望对您有所帮助!

正确答案确实是下载 cacert.pem 文件并按照 Morfinismo 的建议更新 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 文件的同一文件夹中

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