在 Windows 10 64 位下基于 Yii 2 的 HTTP 客户端扩展,请求https,报错:”Curl error: #60 – SSL certificate problem: unable to get local issuer certificate”的解决

1、基于 Yii 2 的 HTTP 客户端扩展,请求https,报错:”Curl error: #60 – SSL certificate problem: unable to get local issuer certificate”,如图1

基于 Yii 2 的 HTTP 客户端扩展,请求https,报错:"Curl error: #60 - SSL certificate problem: unable to get local issuer certificate"

图1

2、通过应用组建配置客户端,删除 ‘transport’ => ‘yii/httpclient/CurlTransport’ 此项配置,如图2

通过应用组建配置客户端,删除 'transport' => 'yii/httpclient/CurlTransport' 此项配置

图2

3、基于 Yii 2 的 HTTP 客户端扩展,请求https,正常,如图3

基于 Yii 2 的 HTTP 客户端扩展,请求https,正常

图3

4、查看文档:https://github.com/yiisoft/yii2-httpclient/blob/master/docs/guide-zh-CN/usage-transports.md ,CurlTransport可支持高级功能,例如批量请求(因此,由于有批量请求的需要,必须配置客户端使用的传输方式为CurlTransport),如图4

查看文档:https://github.com/yiisoft/yii2-httpclient/blob/master/docs/guide-zh-CN/usage-transports.md ,CurlTransport可支持高级功能,例如批量请求(因此,由于有批量请求的需要,必须配置客户端使用的传输方式为CurlTransport)

图4

5、打开网址:https://curl.haxx.se/docs/caextract.html ,在这里下载并提取cacert.pem(一个干净的文件格式/数据),复制至:C:/php-7.1.12/extras/ssl/cacert.pem,如图5

打开网址:https://curl.haxx.se/docs/caextract.html ,在这里下载并提取cacert.pem(一个干净的文件格式/数据),复制至:C:/php-7.1.12/extras/ssl/cacert.pem

图5

6、编辑 php.ini,修改 ;curl.cainfo = 为 curl.cainfo = “C:/php-7.1.12/extras/ssl/cacert.pem”,重启PHP,如图6

编辑 php.ini,修改 ;curl.cainfo = 为 curl.cainfo = "C:/php-7.1.12/extras/ssl/cacert.pem",重启PHP

图6

7、由于为 RESTful 应用,Cookies已经被禁用,因此 Cookies 仅作为请求头信息传输,如图7

由于为 RESTful 应用,Cookies已经被禁用,因此 Cookies 仅作为请求头信息传输

图7

8、通过应用组建配置客户端,恢复 ‘transport’ => ‘yii/httpclient/CurlTransport’ 此项配置,请求https,正常,如图8

通过应用组建配置客户端,恢复 'transport' => 'yii/httpclient/CurlTransport' 此项配置,请求https,正常

图8

9、查看 Debug 的日志信息,Cookie的设置符合预期,如图9

Cookie: login_chinamcloud_id=13980074657; login_chinamcloud_tid=c7a8106ea2da1d5d5c01a13234c69ea8

查看 Debug 的日志信息,Cookie的设置符合预期

图9

原创文章,作者:carmelaweatherly,如若转载,请注明出处:https://blog.ytso.com/180977.html

(0)
上一篇 2021年10月31日
下一篇 2021年10月31日

相关推荐

发表回复

登录后才能评论