PHP CURL偶尔报错,错误码77

本文探讨了项目中遇到的curlHTTPS偶尔返回错误码77的问题,分析了两种常见原因:缺少ca-certificates和curlssl_version配置不当,并提供了解决方案,包括重启PHP和更改curl设置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

原:PHP CURL ERROR77

项目中碰到curl https偶尔出现false,错误码返回77的情况。针对查阅数据,发现两种导致原因:

1、确认安装机器ca-certificates,重启PHP。设置curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0):阻止对证书的合法性的检查

2、centos默认安装curl ssl_version:NSS,需要更改为openssl

 

curl参数说明:

CURLOPT_SSL_VERIFYPEER:是否检测服务器的证书是否由正规浏览器认证过的授权CA颁发的 
CURLOPT_SSL_VERIFYHOST:是否检测服务器的域名与证书上的是否一致 

CURLOPT_SSL_VERIFYHOST的值 :
设为0表示不检查证书 
设为1表示检查证书中是否有CN(common name)字段 
设为2表示在1的基础上校验当前的域名是否与CN匹配 
而libcurl早期版本中这个变量是boolean值,为true时作用同目前设置为2,后来出于调试需求,增加了仅校验是否有CN字段的选项,因此两个值true/false就不够用了,升级为0/1/2三个值。 
libcurl_7.28.1之后的版本,这个调试选项由于经常被开发者用错,被去掉了,因此目前也不支持1了,只有0/2两种取值。

关联阅读:

LibreSSL替代OpenSSL

初识NSS,一文了解全貌

apt,curl,openssl之间的那点事

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值