1、基于 Yii 2 的 HTTP 客户端扩展,请求https,报错:”Curl error: #60 – SSL certificate problem: unable to get local issuer certificate”,如图1
2、通过应用组建配置客户端,删除 ‘transport’ => ‘yii/httpclient/CurlTransport’ 此项配置,如图2
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
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
7、由于为 RESTful 应用,Cookies已经被禁用,因此 Cookies 仅作为请求头信息传输,如图7
8、通过应用组建配置客户端,恢复 ‘transport’ => ‘yii/httpclient/CurlTransport’ 此项配置,请求https,正常,如图8
9、查看 Debug 的日志信息,Cookie的设置符合预期,如图9
Cookie: login_chinamcloud_id=13980074657; login_chinamcloud_tid=c7a8106ea2da1d5d5c01a13234c69ea8
原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/250396.html