web-dev-qa-db-fra.com

PHP code d'erreur cURL 60

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.

PHP index curl reference

73
Ciaran

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"
204
Hüseyin BABAL

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

24
aimme

@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.

13
pgkerr76
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.

11
Anazul

Hüseyin BABAL

Je reçois une erreur avec le certificat ci-dessus mais j'essaie ce certificat et son fonctionnement.

https://Gist.github.com/VersatilityWerks/5719158/download

8
Gaurang Ghinaiya

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é.

3
Quang Nguyen Tri

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.

3
Arjun Londhey

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

2
TTS Raja

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.

2
littlefox

if cacert.pem des liens ci-dessus ne fonctionne pas essayez celui-ci a fonctionné pour moi

https://Gist.github.com/VersatilityWerks/5719158/download

2
Shqear

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.

1
Sami FAREH

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

1
MUSTAPHA GHLISSI

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.

0
Compiler

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 ,

0
lior ben yosef