2012-08-11 3 views
12

Je suis en train de tester en PHP Amazon S3 sur mon localhost mais continuer à obtenir la même erreur:Amazon S3 en cas d'erreur SSL WAMP localhost

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

Code d'essai:

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

I correctement installé le SDK AWS aux fichiers php et activé CURL et SSL sur mon serveur local. Que puis-je faire pour que cela fonctionne? Je ne trouve aucune aide en ligne. J'utilise wamp.

+0

i ont un problème similaire http://stackoverflow.com/questions/12253812/aws-s3-batch-upload-from -localhost-php-error mais le correctif ci-dessous n'a pas fonctionné –

Répondre

48
  1. Obtenez this file et enregistrez-le sur votre disque dur. Appelez le cacert.pem.
  2. Configurez curl.cainfo dans php.ini avec le chemin d'accès complet au fichier téléchargé à l'étape 1.
  3. Redémarrez Apache.

Je vais laisser comme un exercice pour le lecteur de savoir pourquoi cela résout ce, toutes les informations dont vous avez besoin se trouvent dans les liens ci-dessus.

+2

Bravo pour ça! À ma connaissance, j'ai besoin d'un certificat SSL valide pour me connecter au bon serveur. J'ai ajouté 'curl.cainfo =" C: /cacert.pem "' en bas de mon fichier php.ini et les erreurs ont disparu. Il fonctionne également en ajoutant 'curl_setopt ($ ch, CURLOPT_SSL_VERIFYHOST, 0);' et 'curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, 0);' mais ce n'est pas sécurisé – CyberJunkie

+1

wow finalement trouvé une solution appropriée après des centaines de 'solutions' inutiles comme 'curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, 0); 'Merci! – Inoryy

+5

Génial. Je vous remercie! Pour moi, j'avais des problèmes avec WAMP en utilisant le AWS SDK (SQS). Après avoir lu ce post, j'ai copié le fichier cacert.pem inclus dans le SDK AWS (ici https://github.com/amazonwebservices/aws-sdk-for-php/tree/master/lib/requestcore) à C: \ code \ cacert.pem, et puis j'ai ajouté ceci au fond de mon php.ini: 'curl.cainfo = C: \ code \ cacert.pem' – Ryan

1
  1. Courez-vous sur Windows?
  2. Avez-vous pris le temps d'exécuter le test de compatibilité SDK fourni avec le SDK?
+0

oui on windows, oui j'ai passé le test de compatibilité SDK – CyberJunkie

0

Selon this post vous ne pouvez pas travailler avec Amazon AWS sur localhost ..

+4

sans connexion internet. Mais vous pouvez travailler avec AWS sur localhost si vous avez une connexion Internet. – Volodymyr

+1

Je suis sur Xampp Windows. Réponse acceptée a fait le travail –