使用Google+ API时遇cURL error 60:SSL证书问题求助
解决Windows XAMPP中Google+ API的cURL SSL证书错误(代码60)
我之前也碰到过一模一样的问题,折腾了好一会儿才搞定,给你几个排查和解决的步骤,应该能帮到你:
确认cacert.pem文件的正确性与路径
- 首先要确保你下载的是最新的CA根证书包,避免用了过期或不完整的文件。
- 重点检查路径:你配置的路径里可能包含了不可见的特殊字符(比如复制粘贴时带的隐藏符号),一定要手动输入完整路径:
C:\xampp\php\extras\ssl\cacert.pem,不要直接复制可能带异常字符的文本。 - 确认文件确实存在于你指定的路径下,没有拼写错误(比如把
ssl写成ss1这种低级错误)。
确保php.ini修改生效
- 别改错了配置文件:在XAMPP控制面板中,点击Apache模块旁的「Config」按钮,选择「PHP (php.ini)」,这才是Apache运行时加载的PHP配置文件,不要修改CLI版本的php.ini(那是命令行用的)。
- 修改后必须重启Apache服务器,不然新的配置不会生效。
- 验证配置是否生效:创建一个
info.php文件,内容如下:
访问这个文件后,搜索<?php phpinfo(); ?>curl.cainfo,查看显示的路径是否和你设置的一致,确认配置已经被加载。
同步OpenSSL的证书配置
- 除了
curl.cainfo,建议同时设置openssl.cafile为同一个证书路径:openssl.cafile = "C:\xampp\php\extras\ssl\cacert.pem" - 有些环境下,cURL会依赖OpenSSL的证书配置,同步设置后能解决潜在的兼容问题。
- 除了
临时调试方案(仅用于排查,禁止生产环境)
- 如果以上步骤都试过还是不行,可以临时禁用Guzzle的SSL验证来排查问题(但生产环境绝对不能这么做,会有安全风险):
$client = new GuzzleHttp\Client([ 'verify' => false, ]); - 这个方法只是帮你确认是不是证书配置的问题,最终还是要回到正确的证书配置上。
- 如果以上步骤都试过还是不行,可以临时禁用Guzzle的SSL验证来排查问题(但生产环境绝对不能这么做,会有安全风险):
内容的提问来源于stack exchange,提问作者Kulpreet Singh
相关产品推荐
相关产品推荐

