cURL错误60不会消失

时间:2017-01-07 00:14:06

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

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

enter image description here

我已经进行了广泛的研究,并且我发现了一些帖子,表明当您的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. 重启我的所有服务,瞧错误应该消失。
  6. 遵循这些说明似乎适用于其他开发人员,但我的错误并没有消失。是否有其他需要更新或更改的设置?我还可以做些什么?我哪里出错了?

2 个答案:

答案 0 :(得分:3)

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

但即便如此,错误也没有消失。 诀窍是获得PEM文件的干净副本!任何涉及Windows记事本或其他编辑器的方法都会破坏文件并给出cURL错误60等等。最后,我找到了https://gist.github.com/VersatilityWerks/5719158/download并下载了一个带有cacert.pem文件的干净副本的tar文件......然后它们都完美无缺。

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

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

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

答案 1 :(得分:2)

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

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

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

我希望这有帮助!