ssl_cacert - Código de error PHP cURL 60
error de curl ssl_cacert ssl certificate problem unable to get local issuer certificate (13)
Mientras intento configurar un entorno php en Windows (usando wamp) para usar el PHP PHP de Amazon, 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 he agregado la siguiente línea a mi php.ini
curl.cainfo = C:/Windows/ca-bundle.crt
que es la ubicación de un certificado que creé usando este script VBS-Script
También reinicié mi servicio WAMP.
@ Hüseyin BABAL
Recibo un error con el certificado anterior, pero pruebo este certificado y su funcionamiento.
@Overflowh Probé la respuesta anterior también sin suerte. Cambié la versión de PHP de la 5.3.24 a la 5.5.8 ya que esta configuración solo funcionará en php 5.3.7 y superior. Luego encontré esto http://flwebsites.biz/posts/how-fix-curl-error-60-ssl-issue He descargado el cacert.pem de allí y reemplazado el que he descargado / hecho desde curl.hxxx.se vinculado anteriormente y todo comenzó a funcionar. Estaba tratando de obtener Paypal sandbox IPN para verificar. Feliz de decir después del intercambio de .pem todo está bien usando la configuración de curl.cainfo en php.ini que todavía no estaba en 5.3.24.
Agregue lo siguiente a php.ini [use ''/'' en lugar de ''/' en la ruta] curl.cainfo = "path / cacert.pem"
Reinicié mi XAMPP. Funcionó bien para mí Gracias
La solución es editar el archivo php.ini ubicado en su versión php (para mí es php7.0.10) y no el php.ini de apache. Encontrará un archivo comentado como este; curl.cainfo Simplemente cambie esta línea como esta curl.cainfo = "C: / permCertificate / cacert.pem"
No olvides crear el directorio "permCertificate" y copiar el archivo "cacert.pem" dentro de él.
La solución más fácil al problema es agregar el siguiente comando en el campo.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
Usar esto no necesitará agregar ningún certificado ni nada.
Lo arreglé modificando el archivo php.ini
en C:/wamp/bin/apache/apache2.4.9/bin/
curl.cainfo = "C:/wamp/bin/php/php5.5.12/cacert.pem"
primero lo intentaba modificando el archivo php.ini
en C:/wamp/bin/php/php5.5.12/
y no funcionó.
Espero que esto ayude a alguien que está buscando el php.ini
correcto para modificar
Para que supieras lo que funcionó para mí, el archivo en https://curl.haxx.se/ca/cacert ... no funcionó, sin embargo, el de la carpeta zip en la publicación en ( http://flwebsites.biz/posts/how-fix-curl-error-60-ssl-issue ) funcionó para mí sin problemas.
Como han dicho otros, copie el archivo del certificado en una ubicación en su disco duro, actualice la línea
;curl.cainfo
en tu archivo php.ini para leer
curl.cainfo= "path_to_cert/cacert.pem"
Reinicia tu servidor Apache.
Primero tienes que descargar el certificado de este enlace
https://curl.haxx.se/ca/cacert.pem
y colóquelo en una ubicación que 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 está ubicado en: C: / wamp64 / bin / php / php7.0.10 / php.ini
Así que acceda a ese archivo y confirme esta línea; openssl.cafile
también lo actualizo para que se vea así: openssl.cafile = "C: / wamp64 / bin / php / cacert.pem"
Finalmente reinicia tu servidor apache y eso es todo
Primero, necesitamos descargar este paquete de certificado raíz de certificado:
https://curl.haxx.se/ca/cacert.pem
Mueva este archivo a alguna parte, como a la carpeta PHP en la carpeta Wamp / Xampp.
Luego edite su "php.ini":
curl.cainfo = "C: /path/to/your/cacert.pem"
y
openssl.cafile = "C: /path/to/your/cacert.pem"
IMPORTANTE:
Asegúrese de abrir el archivo "php.ini" directamente con su Explorador de Windows. (en mi caso: "C: / DevPrograms / wamp64 / bin / php / php5.6.25 / php.ini").
No use 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 necesita "Reiniciar todos los servicios" en el icono de Wamp o cerrar / volver a abrir CMD.
Pruebe con "var_dump (openssl_get_cert_locations ());" y observe line: ["ini_cafile"] => string (40) "C: /path/to/your/cacert.pem"
Hecho.
Problema solucionado, descargue https://curl.haxx.se/ca/cacert.pem y póngalo "en algún lugar", y agregue esta línea en php.ini
:
curl.cainfo = "C:/somewhere/cacert.pem"
PD: Obtuve este error al intentar instalar el módulo en drupal con xampp.
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"
si cacert.pem de los enlaces anteriores no funciona, pruebe que este funcionó para mí
php --ini
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.