curl请求https第三方网址报错:cURL error 77: error setting certificate verify loc

在对接微信支付接口时,访问报错了,这个错误表明 cURL 在请求 HTTPS 网址时出现了证书验证的问题。为了解决这个问题,记录一下在windows系统上配置phpStudy环境。

  1. 下载证书文件:https://curl.se/ca/cacert.pem 下载最新的 cacert.pem 文件,这是 cURL 所需的证书文件。

  2. 复制证书文件: 将下载的 cacert.pem 文件复制到 PHPStudy 安装目录下的 php/ext/ 文件夹中,确保与你的 PHP 版本对应的文件夹。

  3. 配置 php.ini: 编辑 PHP 配置文件 php.ini,在文件末尾添加以下行:

[curl]

curl.cainfo = "G:\PhpStudy\phpstudy_pro\Extensions\php\php7.4.3nts\ext\cacert.pem"

确保将 G:\PhpStudy\phpstudy_pro\Extensions\php\php7.4.3nts\ext\cacert.pem替换为你的 PHPStudy 安装路径。再接着以下步骤:

  1. 重启 Apache: 保存更改并重启 Apache 服务器,使配置生效。

  2. 检查文件权限: 确保 cacert.pem 文件以及文件夹具有正确的权限,确保 PHP 进程可以访问它。

  3. 确保路径正确: 确保设置的 curl.cainfo 路径正确匹配实际路径。

  4. 更新 cURL 版本: 如果以上方法都不起作用,尝试更新 cURL 版本。有时旧版本的 cURL 可能会遇到证书问题。

  5. 禁用 SSL 验证(不推荐): 如果无法解决问题,你可以在 cURL 请求中禁用 SSL 验证,但这会降低安全性。这只是一个紧急的临时解决方案。

$curlOptions = [
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_SSL_VERIFYHOST => false,
    // 其他 cURL 选项...
];
$ch = curl_init();
curl_setopt_array($ch, $curlOptions);
// 发起 cURL 请求...

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值