2

先介绍一点背景知识:出于某种原因,curl只有在我使用 --tlsv1.2 选项的情况下,在我的 Vagrant 机器中进行调用才有效,否则我会得到:

cURL error 35: SSL connect error (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

所以我将该值放入配置文件中~/.curlrc,所以每次我 curl https://myapi.com在命令行上运行时都会自动使用该选项,并且它工作正常。

但是,我目前正在使用 Guzzle 6,它使用 curl 在后台进行 API 调用。我假设使用的 curlGuzzle将使用相同的配置文件~/.curlrc,但似乎不是因为我再次得到:cURL error 35: SSL connect错误。

这是我正在使用的代码:

$client = new HttpClient(['defaults' => [
            'verify' => false
        ]]);
        $response = $client->request('GET', 'https://myapi.com', ['curl' => [
            CURLOPT_SSLVERSION => 6,
        ]]);

如您所见,我什至尝试将 TLSV1.2 值(根据 curl php 文档将值 6 映射到 TLSV1.2)传递给 curl,但仍然没有。任何人都知道这里可能有什么问题吗?

编辑:是的,刚刚确认 Guzzle 使用了其他一些 curl 二进制文件。我将原始的移动到另一个位置,并且无法再从命令行访问它,但在那之后 Guzzle 仍然返回相同的错误。

4

0 回答 0