2012-08-11 9 views
12

ich in PHP Amazon S3 auf meinem localhost zu testen, ich versucht, aber halten den gleichen Fehler:Amazon S3 auf wamp localhost SSL-Fehler

Fatal error: Uncaught exception 'cURL_Exception' with message 'cURL resource: Resource id #69; cURL error: SSL certificate problem, verify that the CA cert is OK. Details: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed (cURL error code 60). See http://curl.haxx.se/libcurl/c/libcurl-errors.html for an explanation of error codes.' in C:\wamp\www\mysite\application\libraries\awsphp\lib\requestcore\requestcore.class.php:829 Stack trace: #0 C:\wamp\www\mysite\application\libraries\awsphp\sdk.class.php(1034): RequestCore->send_request() #1 C:\wamp\www\mysite\application\libraries\awsphp\services\sqs.class.php(250): CFRuntime->authenticate('ListQueues', Array) #2 C:\wamp\www\mysite\application\libraries\awsphp\services\sqs.class.php(582): AmazonSQS->authenticate('ListQueues', Array) #3 C:\wamp\www\mysite\application\controllers\uploads.php(33): AmazonSQS->list_queues() #4 [internal function]: Uploads->aw3() #5 C:\wamp\www\mysite\system\core\CodeIgniter.php(359): call_user_func in C:\wamp\www\mysite\application\libraries\awsphp\lib\requestcore\requestcore.class.php on line 829

Prüfregeln:

$sqs = new AmazonSQS(); 
$response = $sqs->list_queues(); 
var_dump($response->isOK()); 

ich richtig installiert Das AWS SDK php Dateien und aktiviert CURL und SSL auf meinem lokalen Server. Was kann ich tun, damit dies funktioniert? Ich kann online keine Hilfe finden. Ich benutze Wamp.

+0

ich ein ähnliches Problem haben http://stackoverflow.com/questions/12253812/aws-s3-batch-upload-from -localhost-php-error, aber der Fix unten hat nicht funktioniert –

Antwort

48
  1. Get this file und speichern Sie es auf Ihrer Festplatte. Nennen Sie es cacert.pem.
  2. Konfigurieren Sie in php.ini mit dem vollständigen Pfad zu der in Schritt 1 heruntergeladenen Datei.
  3. Starten Sie Apache neu.

Ich werde es als eine Übung für den Leser überlassen um herauszufinden, warum dies behebt es, alle Informationen, die Sie benötigen, können in den obigen Links.

+2

Prost für das! Zu meinem Verständnis brauche ich ein gültiges SSL-Zertifikat, um sich mit dem richtigen Server zu verbinden. Ich habe 'curl.cainfo =" C: /cacert.pem "' am Ende meiner php.ini Datei hinzugefügt und die Fehler sind weg. Es funktioniert auch das Hinzufügen von 'curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, 0);' und 'curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, 0);' aber es ist nicht sicher – CyberJunkie

+1

wow endlich eine richtige Lösung nach hunderten von unbrauchbaren 'Lösungen' wie 'curl_setopt gefunden ($ ch, CURLOPT_SSL_VERIFYPEER, 0); 'Danke! – Inoryy

+5

Ehrfürchtig. Vielen Dank! Für mich hatte ich Probleme mit WAMP mit dem AWS SDK (SQS). Nachdem ich diesen Beitrag gelesen hatte, kopierte ich die Datei cacert.pem, die im AWS-SDK enthalten war (hier https://github.com/amazonwebservices/aws-sdk-for-php/tree/master/lib/requestcore) nach C: \ code \ cacert.pem, und dann habe ich dies am Ende meiner php.ini hinzugefügt: 'curl.cainfo = C: \ code \ cacert.pem' – Ryan

1
  1. Laufen Sie unter Windows?
  2. Haben Sie sich die Zeit genommen, den SDK-Kompatibilitätstest auszuführen, der mit dem SDK geliefert wird?
+0

ja on bestätigen Windows, ja ich habe den SDK Kompatibilitätstest – CyberJunkie

0

Nach this post Sie nicht mit Amazon AWS auf localhost arbeiten kann ..

+4

ohne Internetverbindung bestanden. Aber Sie können mit AWS auf localhost arbeiten, wenn Sie eine Internetverbindung haben. – Volodymyr

+1

Ich bin auf Xampp Windows. Akzeptierte Antwort hat den Job gemacht –