Al intentar configurar un entorno php en Windows (usando wamp) para usar el SDK de Amazon PHP, cuando intento ejecutar una prueba de muestra, aparece el siguiente error:
Fatal error: Uncaught exception 'cURL_Exception' with message 'cURL resource: Resource id #10; cURL error: SSL certificate problem: unable to get local issuer certificate (cURL error code 60). See http://curl.haxx.se/libcurl/c/libcurl-errors.html for an explanation of error codes.' in C:\wamp\www\AWSSDKforPHP\lib\requestcore\requestcore.class.php on line 848
Ya agregué la siguiente línea a mi php.ini
curl.cainfo = C:\Windows\ca-bundle.crt
cuál es la ubicación de un certificado que creé usando este script VBS VBS-Script
También reinicié mi servicio WAMP.
curl_setopt($rest, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
entra en escena.Respuestas:
Utilice este paquete de certificado raíz de certificado:
https://curl.haxx.se/ca/cacert.pem
Copie este paquete de certificados en su disco. Y usa esto en
php.ini
curl.cainfo = "path_to_cert\cacert.pem"
fuente
curl_setopt($ch, CURLOPT_CAINFO, ini_get('curl.cainfo'));
y en php.ini[cURL] curl.cainfo = C:\dev\xampp\php\cacert.pem
. El archivo está ahí, pero sigo recibiendo el error 60. ¿Me falta algo?php.ini
: Uno para php-cli segundo para php-web (apache, nginx, ...). Debe configurarlocurl.cainfo = "path_to_cert\cacert.pem"
para la web uno. Por otro lado, si puede ver quecurl.cainfo
es verdadero en la vista de información de php, esa vez podría haber un problema de permiso.curl.cainfo
en mi php info. ¿Significa esto que puse el valor en el archivo incorrecto?arreglé esto modificando el
php.ini
archivo enC:\wamp\bin\apache\apache2.4.9\bin\
curl.cainfo = "C:/wamp/bin/php/php5.5.12/cacert.pem"
Primero lo intenté modificando el
php.ini
archivo enC:\wamp\bin\php\php5.5.12\
y no funcionó.espero que esto ayude a alguien que está buscando el derecho
php.ini
de modificarfuente
Esto le dirá exactamente qué archivo php.ini se está cargando, para que sepa cuál modificar. Perdí mucho tiempo cambiando el archivo php.ini incorrecto porque tenía WAMP y XAMPP instalados.
Además, no olvide reiniciar el servidor WAMP (o lo que sea que use) después de cambiar php.ini.
fuente
@Overflowh Probé la respuesta anterior también sin suerte. Cambié la versión de php de 5.3.24 a 5.5.8 ya que esta configuración solo funcionará en php 5.3.7 y superior. Luego encontré este http://flwebsites.biz/posts/how-fix-curl-error-60-ssl-issue . Descargué el cacert.pem desde allí y reemplacé el que había descargado / hecho de curl.hxxx.se vinculado arriba y todo comenzó a funcionar. Estaba tratando de verificar la IPN de la caja de arena de PayPal. Feliz de decir que después del intercambio de .pem todo está bien usando la configuración curl.cainfo en php.ini que aún no estaba en 5.3.24.
fuente
@ Hüseyin BABAL
Recibo un error con el certificado anterior, pero intento este certificado y está funcionando.
https://gist.github.com/VersatilityWerks/5719158/download
fuente
Primero, necesitamos descargar este paquete de certificado raíz:
https://curl.haxx.se/ca/cacert.pem
Mueva este archivo a algún lugar, como la carpeta PHP en la carpeta Wamp / Xampp.
Luego edite su "php.ini":
curl.cainfo = "C: /ruta/a/su/cacert.pem"
y
openssl.cafile = "C: /ruta/a/su/cacert.pem"
IMPORTANTE:
Asegúrese de abrir el archivo "php.ini" directamente con el Explorador de Windows. (en mi caso: "C: \ DevPrograms \ wamp64 \ bin \ php \ php5.6.25 \ php.ini").
No utilice el acceso directo a "php.ini" en el menú del icono de Wamp / Xampp en la bandeja del sistema. Este atajo no funcionó en algunos casos que enfrenté.
Después de guardar "php.ini" no es necesario "Reiniciar todos los servicios" en el icono de Wamp o cerrar / volver a abrir CMD.
Prueba con "var_dump (openssl_get_cert_locations ());" y mira la línea: ["ini_cafile"] => string (40) "C: /path/to/your/cacert.pem"
Hecho.
fuente
Problema solucionado, descargue https://curl.haxx.se/ca/cacert.pem y colóquelo "en algún lugar", y agregue esta línea en
php.ini
:curl.cainfo = "C:/somewhere/cacert.pem"
PD: Recibí este error al intentar instalar el módulo en drupal con xampp.
fuente
La solución más sencilla al problema es agregar el siguiente comando en el campo.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
Al usar esto, no será necesario agregar ningún certificado ni nada.
fuente
Agregue lo siguiente a php.ini [use '/' en lugar de '\' en la ruta] curl.cainfo = "ruta / cacert.pem"
Reinicié mi XAMPP. Funcionó bien para mí. Gracias
fuente
si cacert.pem de los enlaces anteriores no funciona, prueba este funcionó para mí
https://gist.github.com/VersatilityWerks/5719158/download
fuente
Primero tienes que descargar el certificado desde este enlace
https://curl.haxx.se/ca/cacert.pem
y colóquelo en una ubicación donde desee que el nombre del archivo descargable sea: cacert.pem Entonces, en mi caso, lo pondré en C: \ wamp64 \ bin \ php \ cacert.pem
Luego debe especificar la ubicación del archivo php.ini
Por ejemplo, estoy usando php 7, el archivo php.ini se encuentra en: C: \ wamp64 \ bin \ php \ php7.0.10 \ php.ini
Así que acceda a ese archivo y elimine esta línea; openssl.cafile
también actualícelo para que se vea así openssl.cafile = "C: \ wamp64 \ bin \ php \ cacert.pem"
Finalmente reinicia tu servidor apache y eso es todo
fuente
IMPORTANTE : después de 4 horas, trabajando con laravel 5.7 y php 7. + y ejecute / use php artison serve en localhost tratando de conectarse a mailgun.
IMPORTANTE para resolver el problema no funciona con ip http://127.0.0.1:8000 use localhost o establezca el nombre de dominio por archivo de host
Okay ,
fuente
La solución es editar el archivo php.ini ubicado en su versión de php (para mí es php7.0.10), no el php.ini de apache. Encontrará un archivo comentado como este; curl.cainfo Simplemente cambie esta línea como este curl.cainfo = "C: \ permCertificate \ cacert.pem"
No olvide crear el directorio "permCertificate" y copiar el archivo "cacert.pem" dentro de él.
fuente
Solo para que sepas lo que funcionó para mí, el archivo en https://curl.haxx.se/ca/cacert .... no funcionó, sin embargo, el que está en la carpeta zip en la publicación en ( http: // flwebsites .biz / posts / how-fix-curl-error-60-ssl-issue ) funcionó para mí sin ningún problema.
Como han dicho otros, copie el archivo del certificado en una ubicación en su disco duro, actualice la línea
en su archivo php.ini para leer
curl.cainfo= "path_to_cert\cacert.pem"
Reinicie su servidor Apache.
fuente