当前位置:   article > 正文

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

curl error 77: error setting certificate verify locations

在对接微信支付接口时,访问报错了,这个错误表明 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 验证,但这会降低安全性。这只是一个紧急的临时解决方案。

  1. $curlOptions = [
  2. CURLOPT_SSL_VERIFYPEER => false,
  3. CURLOPT_SSL_VERIFYHOST => false,
  4. // 其他 cURL 选项...
  5. ];
  6. $ch = curl_init();
  7. curl_setopt_array($ch, $curlOptions);
  8. // 发起 cURL 请求...

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/羊村懒王/article/detail/250197
推荐阅读
相关标签
  

闽ICP备14008679号