You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel调用Google reCAPTCHA v2接口报cURL error 60 SSL证书错误如何解决

解决Laravel请求Google reCAPTCHA接口cURL 60 SSL证书错误方案

该报错本质为cURL无法验证目标站点的SSL证书根颁发机构,本地环境缺少官方可信CA证书包,以下为对应解决方案:

方案1:全局配置PHP可信CA证书(推荐,开发/生产环境均可用)

  • 搜索下载官方最新的cacert.pemCA证书包,存放到本地非中文路径下
  • 找到当前运行的PHP配置文件php.ini,可通过phpinfo()查看Loaded Configuration File项确认加载的配置文件路径,避免修改错无效配置
  • 搜索curl.cainfo和openssl.cafile两个配置项,取消注释后填写cacert.pem的绝对路径:
curl.cainfo = "D:\your-custom-path\cacert.pem"
openssl.cafile = "D:\your-custom-path\cacert.pem"
  • 重启PHP服务后重新发起请求即可生效

方案2:Laravel HTTP客户端单独配置(无需修改PHP全局配置)

如果不想调整全局PHP配置,可在请求时单独指定CA证书路径,代码修改如下:

use Illuminate\Support\Facades\Http; 

$response = Http::asForm()
    ->withOptions([
        'verify' => 'D:\your-custom-path\cacert.pem'
    ])
    ->post('https://www.google.com/recaptcha/api/siteverify', [
        'secret' => '6LftPCIdAAAAAPD5Md-fahgg3sj0SCUhV9qC5e9B',  
        'response' => request('Response')
    ])->json();
return $response;

方案3:本地开发临时跳过SSL验证(禁止在生产环境使用)

仅本地调试时可临时关闭SSL验证快速验证业务逻辑,代码修改如下:

use Illuminate\Support\Facades\Http; 

$response = Http::asForm()
    ->withoutVerifying()
    ->post('https://www.google.com/recaptcha/api/siteverify', [
        'secret' => '6LftPCIdAAAAAPD5Md-fahgg3sj0SCUhV9qC5e9B',  
        'response' => request('Response')
    ])->json();
return $response;

内容的提问来源于stack exchange,提问作者Dusan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.26 15:24:03