cURL 错误 60:SSL 证书问题:无法获取本地颁发机构证书
在 Windows 上本地开发时可能会出现此问题。我使用的是 Windows 10 (x64)
为了解决此错误,我从 https://curl.haxx.se/docs/caextract.html 下载了 cacert.pem
在 php.ini 中设置以下值
curl.cainfo = "C: \ php-8.0.7 \ extras \ ssl \ cacert.pem"
这些函数的行为受 php.ini 中的设置影响。
名称 | 默认值 | 可更改 | 变更日志 |
---|---|---|---|
curl.cainfo | NULL | INI_SYSTEM |
以下是配置指令的简要说明。
curl.cainfo
字符串CURLOPT_CAINFO
选项的默认值。这需要是绝对路径。
cURL 错误 60:SSL 证书问题:无法获取本地颁发机构证书
在 Windows 上本地开发时可能会出现此问题。我使用的是 Windows 10 (x64)
为了解决此错误,我从 https://curl.haxx.se/docs/caextract.html 下载了 cacert.pem
在 php.ini 中设置以下值
curl.cainfo = "C: \ php-8.0.7 \ extras \ ssl \ cacert.pem"
cURL 错误 60:SSL 证书问题:无法获取本地颁发机构证书
当 curl.cainfo 变量设置不正确时,会出现此本地开发错误。
我在 PHP 版本 7.3.1 中遇到了此问题
为了解决此错误,我从 https://curl.haxx.se/docs/caextract.html 下载了 cacert.pem
在 php.ini 中设置以下路径
curl.cainfo="D:\wamp64\bin\php\php7.3.1\extras\ssl\cacert.pem"
openssl.cafile="D:\wamp64\bin\php\php7.3.1\extras\ssl\cacert.pem"
即使添加了路径并重新启动 Apache,在 phpinfo() 中,这两个路径都显示为空白。
只有通过项目的 PHP 代码设置后,错误才会消失。
以下代码对我有用:-
$guzzle = new \GuzzleHttp\Client(['verify' => 'D:\wamp64\bin\php\php7.3.1\extras\ssl\cacert.pem']);
我在上一条评论中编辑了错误的 php.ini 文件。
即使加载的配置路径在 WAMP 服务器的 phpinfo() 中显示为“D:\wamp64\bin\apache\apache2.4.37\bin\php.ini”,它实际上加载的是“D:\wamp64\bin\apache\apache2.4.37\bin\phpForApache.ini”
一旦我在 phpForApache.ini 中设置了这两个变量,详细信息就会显示在 phpinfo() 中,并且错误已消失,无需额外的代码行。