En essayant de configurer un environnement php sur Windows (avec wamp) pour utiliser le SDK Amazon PHP, lorsque j'essaie d'exécuter un exemple de test, l'erreur suivante apparaît:
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
J'ai déjà ajouté la ligne suivante à mon php.ini
curl.cainfo = C:\Windows\ca-bundle.crt
qui est l'emplacement d'un certificat que j'ai créé en utilisant ce script VBS VBS-Script
J'ai également redémarré mon service WAMP.
Utilisez cet ensemble de certificats racine de certificat:
https://curl.haxx.se/ca/cacert.pem
Copiez ce lot de certificats sur votre disque. Et utilisez ceci sur php.ini
curl.cainfo = "path_to_cert\cacert.pem"
j'ai corrigé cela en modifiant le fichier php.ini
à C:\wamp\bin\Apache\apache2.4.9\bin\
curl.cainfo = "C:/wamp/bin/php/php5.5.12/cacert.pem"
d'abord, j'essayais en modifiant le fichier php.ini
à l'adresse C:\wamp\bin\php\php5.5.12\
et cela ne fonctionnait pas.
j'espère que cela aidera quelqu'un qui cherche le bon php.ini
à modifier
@Overflowh J'ai essayé la réponse ci-dessus aussi sans succès. J'ai changé la version de PHP de 5.3.24 à 5.5.8 car ce paramètre ne fonctionnera que dans les versions 5.3.7 et supérieures. J'ai alors trouvé ceci http://flwebsites.biz/posts/how-fix-curl-error-60-ssl-issue J'ai téléchargé le fichier cacert.pem à partir de là et j'ai remplacé celui que j'avais téléchargé/fait à partir de curl.hxxx.se lié ci-dessus et tout a commencé à fonctionner. J'essayais de vérifier l'IPN Paybox sandbox. Heureux de dire qu'après l'échange .pem, tout est ok en utilisant le paramètre curl.cainfo dans php.ini qui n'était toujours pas dans 5.3.24.
php --ini
Cela vous dira exactement quel fichier php.ini est en train d'être chargé, afin que vous sachiez lequel modifier. J'ai perdu beaucoup de temps à changer le mauvais fichier php.ini car j'avais WAMP et XAMPP installés.
Aussi, n'oubliez pas de redémarrer le serveur WAMP (ou ce que vous utilisez) après avoir changé le fichier php.ini.
Hüseyin BABAL
Je reçois une erreur avec le certificat ci-dessus mais j'essaie ce certificat et son fonctionnement.
Premièrement, nous devons télécharger cet ensemble de certificats racine de certificats:
https://curl.haxx.se/ca/cacert.pem
Déplacez ce fichier dans un dossier tel que le dossier PHP du dossier Wamp/Xampp.
Puis éditez votre "php.ini":
curl.cainfo = "C: /path/to/votre/cacert.pem"
et
openssl.cafile = "C: /path/to/votre/cacert.pem"
IMPORTANT:
Assurez-vous d’ouvrir le fichier "php.ini" directement par votre explorateur Windows. (dans mon cas: "C:\DevPrograms\wamp64\bin\php\php5.6.25\php.ini").
N'utilisez pas le raccourci vers "php.ini" dans le menu de l'icône Wamp/Xampp dans la barre d'état système. Ce raccourci ne fonctionnait pas dans certains cas.
Après avoir enregistré "php.ini", vous n'avez pas besoin de "Redémarrer tous les services" dans l'icône Wamp ou de fermer/ré-ouvrir CMD.
Essayez avec "var_dump (openssl_get_cert_locations ());" et regardez la ligne: ["ini_cafile"] => string (40) "C: /path/to/votre/cacert.pem"
Terminé.
La solution la plus simple au problème consiste à ajouter la commande ci-dessous dans le champ.
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER,false);
L'utilisation de cela n'aura pas besoin d'ajouter de certificat ou quoi que ce soit.
Ajoutez ce qui suit à php.ini [utilisez '/' au lieu de '\' dans le chemin] curl.cainfo = "chemin/cacert.pem"
Redémarrage de mon XAMPP. Cela a bien fonctionné pour moi. Merci
Problème résolu, téléchargez https://curl.haxx.se/ca/cacert.pem et mettez-le "quelque part", puis ajoutez cette ligne dans php.ini
:
curl.cainfo = "C:/somewhere/cacert.pem"
PS: J'ai eu cette erreur en essayant d'installer le module sur drupal avec xampp.
if cacert.pem des liens ci-dessus ne fonctionne pas essayez celui-ci a fonctionné pour moi
La solution est d'éditer le fichier php.ini situé dans votre version de php (pour moi c'est php7.0.10) et non le php.ini d'Apache. Vous trouverez un fichier commenté comme ceci: curl.cainfo Il suffit de changer cette ligne comme ceci curl.cainfo = "C:\permCertificate\cacert.pem"
N'oubliez pas de créer le répertoire "permCertificate" et copiez le fichier "cacert.pem" qu'il contient.
Vous devez d'abord télécharger le certificat à partir de ce lien
https://curl.haxx.se/ca/cacert.pem
et le mettre dans un emplacement souhaité, le nom du fichier téléchargeable est: cacert.pem Donc, dans mon cas, je le mettrai sous C:\wamp64\bin\php\cacert.pem
Ensuite, vous devez spécifier l'emplacement du fichier php.ini
Par exemple, j'utilise php 7, le fichier php.ini se trouve à l'adresse suivante: C:\wamp64\bin\php\php7.0.10\php.ini
Donc, accédez à ce fichier et désengagez cette ligne; openssl.cafile
mettez également à jour pour que cela ressemble à ceci openssl.cafile = "C:\wamp64\bin\php\cacert.pem"
Enfin redémarrez votre serveur Apache et c'est tout
Juste pour que vous sachiez ce qui a fonctionné pour moi, le fichier à https://curl.haxx.se/ca/cacert .... ne fonctionnait pas, cependant, celui du dossier Zip de la publication at ( http://flwebsites.biz/posts/how-fix-curl-error-60-ssl-issue ) a travaillé pour moi sans aucun problème.
Comme d’autres l’ont dit, copiez le fichier de certificat dans un emplacement de votre disque dur, mettez à jour la ligne
;curl.cainfo
dans votre fichier php.ini à lire
curl.cainfo= "path_to_cert\cacert.pem"
Redémarrez votre serveur Apache.
IMPORTANT: après 4 heures, travailler avec laravel 5.7 et php 7. + et exécuter/utiliser php artison servir sur localhost essayant de se connecter à mailgun.
IMPORTANT pour résoudre le problème ne fonctionne pas avec ip http://127.0.0.1:80 utilisez localhost ou set nom de domaine par fichier hôte
d'accord ,