A little background first: for some reason, making curl
calls inside my Vagrant machine works only if I use --tlsv1.2 option, without that I get:
cURL error 35: SSL connect error (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
So I've put that value into configuration file, ~/.curlrc
, so every time I run
curl https://myapi.com
on the command line that option is used automatically, and it works fine.
However, I am currently playing with Guzzle 6, which uses curl to make API calls in the background. I assumed that curl that Guzzle
uses will use the same configuration file ~/.curlrc
, but seems not because I'm getting again: cURL error 35: SSL connect
error.
This is the code that I'm using:
$client = new HttpClient(['defaults' => [
'verify' => false
]]);
$response = $client->request('GET', 'https://myapi.com', ['curl' => [
CURLOPT_SSLVERSION => 6,
]]);
As you can see, I even tried to pass TLSV1.2 value(value 6 is mapped to TLSV1.2 according to curl php documentation) to curl, but still nothing. Anybodu have an idea what could be wrong here?
EDIT: yeah, just confirmed that Guzzle uses some other curl binary. I moved the original one to another location and can't no longer accessed it from the command line, but after that Guzzle still returns the same error.