cURL error 60: SSL certificate problem: unable to get local issuer certifica 解决

无法获取本地颁发者证书

Windows版本

linux版本解决方案

cURL error 60: SSL certificate problem: unable to get local issuer certifica 解决

Laravel 使用GuzzleHttp请求第三方https接口报错

获取 headers

windows 清晰版本

Windows版本

1.到 https://curl.haxx.se/ca/cacert.pem 下载证书文件 cacert.pem,将其保存到 PHP 安装路径下。

2.编辑 php.ini 文件,删除 curl.cainfo 配置项前的分号注释符(;),值设置为保存的证书文件 cacert.pem 的绝对路径。

3.重启依赖 PHP 的服务。

完成

linux版本解决方案

cURL error 60: SSL certificate problem: unable to get local issuer certifica 解决

https://curl.haxx.se/docs/caextract.html 上下载cacert.pem

打开php.ini 搜索curl.cainfo 与 openssl.cafile,将其配置成你自己cacert.pem文件的路径

curl.cainfo=" 路径 "

openssl.cafile="路径"

例如:

Laravel 使用GuzzleHttp请求第三方https接口报错

错误提示:

cURL error 60: Peer's certificate issuer has been marked as not trusted by the user. (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

解决方法

$client = new Client(['verify' => false]);

1

解释:因为配置https协议,需要购买SSL证书,所以你需要将verify的值改为false,等后期你配置了https协议,在讲verify的值改为true。

获取 headers

(PHP 4,PHP 5,PHP 7,PHP 8)

getallheaders ---提取所有HTTP请求标头

foreach (getallheaders() as name =\> KaTeX parse error: Expected '}', got 'EOF' at end of input: ...e) { echo "name: value\n";

}

array:9 [

"Connection" => "keep-alive"

"Accept-Encoding" => "gzip, deflate, br"

"Host" => "textlaravel.cc"

"Postman-Token" => "b40c141e-645d-495f-8d71-f82874a642e7"

"Accept" => "/ "

"User-Agent" => "PostmanRuntime/7.26.8"

"Jwt" => "bearereyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwOlwvXC90ZXh0bGFyYXZlbC5jY1wvYXBpXC9sb2dpbiIsImlhdCI6MTYxMjY3NTE0OCwiZXhwIjoxNjEyNjc4NzQ4LCJuYmYiOjE2MTI2NzUxNDgsImp0aSI6ImR5b0ZOalpzUkZVcGRqOFEiLCJzdWIiOjEsInBydiI6Ijg3ZTBhZjFlZjlmZDE1ODEyZmRlYzk3MTUzYTE0ZTBiMDQ3NTQ2YWEifQ.X2LIiNxb9fltrx3AMfajIAOrBKwhhEedePxl5kjOQw0"

"Content-Length" => ""

"Content-Type" => ""

]

(PHP 5 >= 5.6.0, PHP 7, PHP 8)

openssl_get_cert_locations --- 检索可用的证书位置

openssl_get_cert_locations() 返回一个数组,其中包含要搜索SSL证书的可用证书位置的信息。

array:8 [

"default_cert_file" => "/usr/local/openssl/cert.pem",

"default_cert_file_env" => "SSL_CERT_FILE",

"default_cert_dir" => "/usr/local/openssl/certs",

"default_cert_dir_env" => "SSL_CERT_DIR",

"default_private_dir" => "/usr/local/openssl/private",

"default_default_cert_area" => "/usr/local/openssl",

"ini_cafile" => "/www/wwwroot/ext/ca-bundle.crt",

"ini_capath" => ""

]

下面是guzzle官方文档

https://guzzle-cn.readthedocs.io/zh_CN/latest/quickstart.html

windows 清晰版本

解决:cURL error 60: SSL certificate problem: unable to get local issuer certificate 问题

问题原因:

此问题的出现是由于没有配置信任的服务器HTTPS验证。

默认,cURL被设为不信任任何CAs,就是说,它不信任任何服务器验证。

1、通过下面的git地址下载验证文件

https://github.com/bagder/ca-bundle/tree/e9175fec5d0c4d42de24ed6d84a06d504d5e5a09

2、把文件放到下面目录中,也就是 php.ini 同级目录的 ./extras/ssl下

3、使用下面命令在 windows 下 cmd 下执行,找到 php.ini 文件目录

php -i | findstr php.ini

1

4、编辑 php.ini 文件,加入下面代码(自己的路径记得修改)

curl

curl.cainfo="D:/phpstudy/Extensions/php/php7.3.4nts/extras/ssl/ca-bundle.crt"

相关推荐
SZ17011023139 分钟前
IP协议 标识字段 同一个源IP、目的IP和协议号内唯一
网络·网络协议·tcp/ip
狐572 小时前
2025-06-02-IP 地址规划及案例分析
网络·网络协议·tcp/ip
黎茗Dawn3 小时前
5.子网划分及分片相关计算
网络·智能路由器
恰薯条的屑海鸥3 小时前
零基础在实践中学习网络安全-皮卡丘靶场(第十四期-XXE模块)
网络·学习·安全·web安全·渗透测试
科技小E3 小时前
口罩佩戴检测算法AI智能分析网关V4工厂/工业等多场景守护公共卫生安全
网络·人工智能
御承扬3 小时前
从零开始开发纯血鸿蒙应用之网络检测
网络·华为·harmonyos
DevSecOps选型指南12 小时前
2025软件供应链安全最佳实践︱证券DevSecOps下供应链与开源治理实践
网络·安全·web安全·开源·代码审计·软件供应链安全
利刃大大12 小时前
【在线五子棋对战】二、websocket && 服务器搭建
服务器·c++·websocket·网络协议·项目
国科安芯13 小时前
抗辐照MCU在卫星载荷电机控制器中的实践探索
网络·嵌入式硬件·硬件工程·智能硬件·空间计算
EasyDSS14 小时前
国标GB28181设备管理软件EasyGBS远程视频监控方案助力高效安全运营
网络·人工智能