PHP解决curl请求https报SSL certificate problem: unable to get local issuer certificate的问题

作请求接口不少都是用的curl,而后有些接口是https的,直接请求都会报证书相关的错误或者干脆不报错返回空,随便一搜索极大部分就会告诉你在请求里加上php

curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); //不验证证书

curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, false); //不验证证书

这两句,的确,加上以后是有了正常返回安全

可是否就万事大吉了呢?服务器

若是不使用上面两句,用curl_error函数去获取错误就会看到composer

SSL certificate problem: unable to get local issuer certificate

的返回,https之因此多了个s就是由于使用了ssl证书进制对http进行安全的认证加密,对于安全性有了极大的提升,具体自行搜索,这里很少说curl

虽然说如今量子计算机的发展彷佛让密码学遭遇了极大的打击,但在对当前的密码学体系完全突破以前,保持使用https来提升安全性仍是颇有必要的,好比在关键支付请求,身份认证这些敏感操做时就极有必要甚至必须使用https函数

废话说得有点多,那么curl请求到底该怎么用https呢?加密

首先你须要下载一个ca证书,从哪里下?我本身搜了一遍好像网址都不怎么靠谱,因为我装了composer,我直接把它的目录下的cacert.pem复制到公共目录url

而后打开php.ini,找到"curl.cainfo"这一行,把值改为证书wan'zheng路径,重启服务器就好了spa

相关文章
相关标签/搜索