错误GuzzleHttp cURL错误60:SSL证书

时间:2017-09-29 21:17:42

标签: php

我尝试使用Google API,但是,当我运行它时,它会向我显示以下错误:

GuzzleHttp\Exception\RequestException: cURL error 60: SSL certificate problem: u
    nable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl
    -errors.html) in C:\wamp64\www\apigmail\vendor\guzzlehttp\guzzle\src\Handler\Cur
    lFactory.php on line 187

我正在使用WAMP -Server PHP v 7.0.13

3 个答案:

答案 0 :(得分:2)

现在你可以使用:

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

答案 1 :(得分:0)

你必须阅读你的错误代码:) 很简单,你有一些SSL错误,因为你的localhost环境无法获取数据,因为你没有任何SSL证书。

但是这是你的另一个问题的解决方案: cURL error 60: SSL certificate: unable to get local issuer certificate

答案 2 :(得分:0)

您必须添加 \GuzzleHttp\RequestOptions::VERIFY => false到客户端配置:

$this->client = new \GuzzleHttp\Client([
    'base_uri'                          => 'someAccessPoint',
    \GuzzleHttp\RequestOptions::HEADERS => [
        'User-Agent' => 'some-special-agent',
    ],
    'defaults'                          => [
        \GuzzleHttp\RequestOptions::CONNECT_TIMEOUT => 5,
        \GuzzleHttp\RequestOptions::ALLOW_REDIRECTS => true,
    ],
    \GuzzleHttp\RequestOptions::VERIFY  => false,
]);

它将通过CURLOPT_SSL_VERIFYHOST方法设置CURLOPT_SSL_VERIFYPEERCurlFactory::applyHandlerOptions()

$conf[CURLOPT_SSL_VERIFYHOST] = 0;
$conf[CURLOPT_SSL_VERIFYPEER] = false;

GuzzleHttp documentation

  

验证

     

描述请求的SSL证书验证行为。

     
      
  • 设置为true以启用SSL证书验证并使用操作系统提供的默认CA bundle>。
  •   
  • 设置为false以禁用证书验证(这是不安全的!)。
  •   
  • 设置为字符串以提供CA捆绑包的路径,以启用使用自定义证书的验证。
  •