2017-10-12 5 views
0

Ich versuche, einen Benutzer über Tumblr PHP API zu authentifizieren.Schwerwiegender Fehler cURL-Fehler 60 Bei Verwendung von Tumblr PHP API

Ich erhalte diesen Fehler

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)'

Wenn die vorgeschlagene Website besuchen Dies ist die Erklärung von Fehler 60

CURLE_SSL_CACERT (60)

Peer certificate cannot be authenticated with known CA certificates.

ich ein ähnliches Problem gefunden here, aber wie behebe ich meine ? Ist es das Gleiche?

Dies ist der Code, den ich

require_once('vendor/autoload.php'); 
$consumerKey = 'XXX'; 
$consumerSecret = 'YYY'; 
$client = new Tumblr\API\Client($consumerKey, $consumerSecret); 
$requestHandler = $client->getRequestHandler(); 
$requestHandler->setBaseUrl('https://www.tumblr.com/'); 

// If we are visiting the first time 
if (!$_GET['oauth_verifier']) { 

    // grab the oauth token 
    $resp = $requestHandler->request('POST', 'oauth/request_token', array()); 
    $out = $result = $resp->body; 
    $data = array(); 
    parse_str($out, $data); 

    // tell the user where to go 
    echo '<a href="https://www.tumblr.com/oauth/authorize?oauth_token=' . $data['oauth_token'].'"> GO </a>'; 
    $_SESSION['t']=$data['oauth_token']; 
    $_SESSION['s']=$data['oauth_token_secret']; 

} else { 

    $verifier = $_GET['oauth_verifier']; 

    // use the stored tokens 
    $client->setToken($_SESSION['t'], $_SESSION['s']); 

    // to grab the access tokens 
    $resp = $requestHandler->request('POST', 'oauth/access_token', array('oauth_verifier' => $verifier)); 
    $out = $result = $resp->body; 
    $data = array(); 
    parse_str($out, $data); 

    // and print out our new keys we got back 
    $token = $data['oauth_token']; 
    $secret = $data['oauth_token_secret']; 
    echo "token: " . $token . "<br/>secret: " . $secret; 

    // and prove we're in the money 
    $client = new Tumblr\API\Client($consumerKey, $consumerSecret, $token, $secret); 
    $info = $client->getUserInfo(); 
    echo "<br/><br/>congrats " . $info->user->name . "!"; 

} 

Antwort

0

Dies ist ein Duplikat zu verwenden ist versucht. Die Antwort kann here

finden Dies ist die Lösung

  1. herunterladen und extrahieren für cacert.pem hier (eine saubere Dateiformat/data)

    https://gist.github.com/VersatilityWerks/5719158/download

    1. steckte es in:

      C:\xampp\php\extras\ssl\cacert.pem

    2. Fügen Sie diese Zeile in der php.ini

      curl.cainfo = "C:\xampp\php\extras\ssl\cacert.pem"

    3. Neustart Webserver/Apache