2012-08-11 14 views
12

que estoy tratando de probar en PHP Amazon S3 en mi localhost, pero seguir recibiendo el mismo error:Amazon S3 en caso de error 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

Código de ensayo:

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

I correctamente instalado AWS SDK a archivos php y habilitado CURL y SSL en mi servidor local. ¿Qué puedo hacer para que esto funcione? No puedo encontrar ninguna ayuda en línea. Estoy usando Wamp.

+0

Tengo un problema similar http://stackoverflow.com/questions/12253812/aws-s3-batch-upload-from -localhost-php-error pero la corrección a continuación no funcionó –

Respuesta

48
  1. Obtenga this file y guárdelo en su disco duro. Llámalo cacert.pem.
  2. Configure curl.cainfo en php.ini con la ruta completa al archivo descargado en el paso 1.
  3. Reinicie Apache.

Lo dejo como ejercicio para el lector para saber qué esto lo arregla, toda la información que necesita se puede encontrar en los enlaces anteriores.

+2

¡Saludos por eso! A mi entender, necesito un certificado SSL válido para conectarme al servidor correcto. Agregué 'curl.cainfo =" C: /cacert.pem "' en la parte inferior de mi archivo php.ini y los errores desaparecieron. También funciona añadiendo 'curl_setopt ($ ch, opción CURLOPT_SSL_VERIFYHOST, 0);' y 'curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, 0);' pero no es seguro – CyberJunkie

+1

wow finalmente encontró una solución adecuada después de cientos de 'soluciones' inútiles como 'curl_setopt ($ ch, CURLOPT_SSL_VERIFYPEER, 0); '¡Gracias! – Inoryy

+5

Impresionante. ¡Gracias! Para mí, estaba teniendo problemas con WAMP usando AWS SDK (SQS). Después de leer esta publicación, copié el archivo cacert.pem que estaba incluido en AWS SDK (aquí https://github.com/amazonwebservices/aws-sdk-for-php/tree/master/lib/requestcore) a C: \ code \ cacert.pem, y luego añadió esta a la parte inferior de mi php.ini: 'curl.cainfo = C: \ code \ cacert.pem' – Ryan

1
  1. ¿Estás ejecutando en Windows?
  2. ¿Se tomó el tiempo para ejecutar la prueba de compatibilidad de SDK que viene incluida con el SDK?
+0

sí en Windows, sí, pasé la prueba de compatibilidad SDK – CyberJunkie

0

Según this post no se puede trabajar con Amazon AWS en el servidor local ..

+4

sin conexión a Internet. Pero puede trabajar con AWS en localhost si tiene conexión a Internet. – Volodymyr

+1

Estoy en Xampp Windows. La respuesta aceptada hizo el trabajo –