Please contact your web host if you encounter errors like:
- cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html):
- cURL error 60: SSL certificate problem, verify that the CA cert is OK
- cURL error 77: Problem with the SSL CA cert (path? access rights?) (see http://curl.haxx.se/libcurl/c/libcurl-errors.html):
Unfortunately, this error isn't something that can be solved by changing the plugins code as this problem is caused on server level. This problem is caused by an incorrect server configuration which isn't setting the certificates (PEM file) properly. The plugin needs those certificates to safely communicate with the Cloud API.
This issue can be fixed by your web host. If you are managing the the server by yourself, those instructions will probably help you out:
- Download the latest cacert.pem from https://curl.haxx.se/ca/cacert.pem and store it somewhere in your php folder
e.g. bin/php/phpx.x.x/extras/ssl/cacert.pem
(replacephpx.x.x
with the version you are running) - Open the php.ini file of your server and search for the setting
curl.cainfo
- Change this setting to the absolute location of the cacert.pem file e.g.
curl.cainfo="bin/php/phpx.x.x/extras/ssl/cacert.pem"
- Save the file
- (Restart your server if needed to process the changes)
The issue can in most cases be reproduced with the following PHP script:
<?php // OUT-OF-THE-BOX
$url = "https://api.dropboxapi.com/2/files/list_folder"; // USE-YOUR-DRIVE
//$url = "https://www.googleapis.com/auth/drive"; $ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, true);
curl_setopt($ch, CURLOPT_SSLVERSION, 1);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_VERBOSE, true);
$contents = curl_exec($ch);
if($contents) {
echo $contents;
} else {
$err_no = curl_errno($ch);
$err = curl_error($ch);
echo $err_no . ": " . $err;
}
curl_close($ch);