Question: I want to collect a list of videos uploaded on a specific channel using the YouTube data API. However, before implementing online I am trying to get my code running on an offline environment (WAMPserver, PHP 5.5.12, Apache 2.4.9). I am using the following code:

```
require_once 'google-api-php-client-2.0.0-RC5/vendor/autoload.php';

$client = new Google_Client();
$client->setApplicationName("SRC_Thor");
$client->setDeveloperKey("xxxxxxxxxxx");

$youtube = new Google_Service_YouTube($client);

$channelResponse = $youtube->channels->listChannels('contentDetails', []);
var_dump($channelResponse);

```

However it gives the following error: 

> 
> Fatal error: Uncaught exception 'GuzzleHttp\Exception\RequestException' with message 'cURL error 60: SSL certificate problem: unable to get local issuer certificate (see `http://curl.haxx.se/libcurl/c/libcurl-errors.html`)'
> 
> 
> 

I have tried adding the latest version of `cacert.pem` as most topics on SO offer as a solution, however to no avail.

Answer: 
PCI-DSS 3.1 requires all SSL to only TLS 1.2 so a lot of providers are simply turning everything but TLS 1.2 off. I ran into this type of issue where CURL saw the failure to downgrade handshakes as a failure to verify the SSL certificate. Try finding where your code is doing the CURL call and add this line (be sure to replace `$ch` with whatever CURL handle your code uses)

```
curl_setopt($ch, CURLOPT_SSLVERSION, 6);  // Force TLS 1.2

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

```