Guzzle 6 doesn't work with TLS1.2
<p>A little background first: for some reason, making <code>curl</code> calls inside my Vagrant machine works only if I use --tlsv1.2 option, without that I get:</p>

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

<p>So I've put that value into configuration file, <code>~/.curlrc</code>, so every time I run 
<code>curl https://myapi.com</code> on the command line that option is used automatically, and it works fine. </p>

<p>However, I am currently playing with Guzzle 6, which uses curl to make API calls in the background. I assumed that curl that <code>Guzzle</code> uses will use the same configuration file <code>~/.curlrc</code>, but seems not because I'm getting again: <code>cURL error 35: SSL connect</code> error.</p>

<p>This is the code that I'm using:</p>

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

<p>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?</p>

<p>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.</p>