cURL erreur 60: certificat SSL dans Laravel 5.4
D'Erreur Complet
RequestException in CurlFactory.php line 187: cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)
Scénario
Avant tout des points de moi à ces deux laracasts réponses: https://laracasts.com/discuss/channels/general-discussion/curl-error-60-ssl-certificate-problem-unable-to-get-local-issuer-certificate
Je l'ai déjà regardé et c'est pourquoi im ici,
Le problème que j'ai c'est que j'ai maintenant le cacert.fichier pem, MAIS ça n'a pas de sens où le mettre, les réponses indiquent placer le fichier dans mon répertoire xampp et de changer mon php.ini
fichier mais je ne suis pas en utilisant xampp pour rien, im en utilisant laravel l'artisan serveur pour exécuter mon projet. Si xampp n'est pas en cours d'utilisation alors où dois-je placer ce fichier & plus alors pourquoi aurait accepté de répondre à placer dans mon répertoire xampp, je ne comprends pas
Ma Question Exacte
Où dois-je placer le cacert.pem
fichier pour arrêter cette erreur dans laravel 5.4?
J'ai pensé que le problème
Ensuite, ne pas poster la solution. Il peut aider quelqu'un, quelque part.
OriginalL'auteur Yasmin French | 2017-02-07
Vous devez vous connecter pour publier un commentaire.
Ne jamais modifier des fichiers dans le
vendor/
dossier. Jamais. Ils peuvent être remplacés sur le prochain compositeur de mise à jour vous exécutez., Voici ma Solution pour WampServer
Je suis à l'aide de PHP 7.1.9 pour mon WampServer, donc changement
7.1.9
dans l'exemple ci-dessous du numéro de version que vous utilisez actuellement.C:\wamp64\bin\php\php7.1.9
dossierphp.ini
et de trouver cette ligne:;curl.cainfo
Le modifier:
curl.cainfo = "C:\wamp64\bin\php\php7.1.9\cacert.pem"
Assurez-vous que vous supprimez le point-virgule au début de la ligne.
Enregistrer les modifications apportées à
php.ini
, redémarrez WampServer, et vous êtes bon pour aller!vendor/
dossier.devrait être la bonne réponse
Cela se sent comme la bonne façon de résoudre le problème, mais de toute façon ça ne fonctionne pas. J'ai php 7.1.11
fonctionne pour moi, Merci!
A travaillé pour moi. Merci
OriginalL'auteur kjdion84
C'était stressfull à la figure, mais ici est la réponse exacte pour les personnes à l'aide de laravel et ont ce problème.
Mon application exacte des versions sont...
Télécharger une nouvelle copie de ce curl certificat à partir de ce lien: https://gist.github.com/VersatilityWerks/5719158/download
Enregistrer le fichier dans ce chemin d'accès à partir de la base de la racine de votre application laravel
vendor/guzzlehttp/guzzle/src/cacert.pem
prochaine dans le même répertoire ouvrir
RequestOptions.php
et faites défiler jusqu'à la constante appeléeCERT
et de le modifier pour ceconst CERT = 'cacert.pem';
et cela devrait résoudre tout cela.MODIFIER
Que les gens sont en pointant, vous ne devriez jamais modifier le fournisseur de dossier, c'était juste une solution rapide pour une application que j'était en train de construire dans mon temps libre. Ce n'était pas quelque chose de majorly important comme une application pour mon entreprise ou de quoi que ce soit, l'utilisation de cette méthode à votre propre risque! S'il vous plaît vérifier les réponses ci-dessous
Mon xampp à l'époque était la dernière php7 version, je ne me souviens plus exactement lequel j'ai utilisé désolé
+1 merci beaucoup, j'ai essayé toutes les autres solutions, mais c'est la seule qui a fonctionné.. il suffit de sauter dans l'vendor/guzzlehttp/bouffer/src dossier et faire un "wget curl.haxx.se/ca/cacert.pem" pour obtenir une nouvelle copie
Mais j'ai entendu un loooot de fois que je ne devrais pas déconner vendeur
alors ne le faites pas, je dois mentionner que c'était juste une solution rapide qui a fonctionné pour moi. pas sûr que des solutions de rechange
OriginalL'auteur Yasmin French
Une solution rapide mais dangereux (non recommandé).
À l'aide de cURL:
Ensemble CURLOPT_SSL_VERIYPEER de faux
À L'Aide De Bouffer:
Ensemble de vérifier false
exemple $client->request('GET', 'https://somewebsite.com', ['vérifier' => false]);
OriginalL'auteur Jeffrey
\vendor\guzzlehttp\guzzle\src\Client.php
fichier est le pire des conseils, des modifications manuelles apportées au vendeur dossier sont écrasés si vous exécutezcomposer update
commande.php.ini
fichier sur le serveur web. Dans le cas où vous êtes à l'aide de l'Hébergement mutualisé, il peut ne pas être possible de modifierphp.ini
fichier.Lorsque vous n'avez pas accès à
php.ini
fichier (par exemple, Hébergement mutualisé),verify
cléGuzzleHttp\Client
constructeur avec sa valeur en tant que chemin d'accès àcacert.pem
fichier.Avec Laravel 5.7 et GuzzleHttp 6.0
OriginalL'auteur Hamza Rashid
Un autre récemment demandé pour le même problème et il semble que ma réponse a été la solution pour lui.
Ici, c'était le post, je mentionner : URL du Post
C'est ce que j'ai dit :
OriginalL'auteur Doshibu
pour Laravel: Les 5 étapes ci-dessous seront utiles
Guzzlehttp: 5.2
\vendor\guzzlehttp\guzzle\src\Client.php
modifier les paramètres par défaut pour
fonction protégée getDefaultOptions() {
$settings = [
'allow_redirects' => true,
'exceptions' => true,
'decode_content' => true,
'vérifier' => getcwd() .'/vendeur/guzzlehttp/bouffer/src/cacert.pem'
];
}
téléchargez le dernier fichier cacert.pem de
http://curl.haxx.se/ca/cacert.pem
et de lieu dans/vendor/guzzlehttp/guzzle/src/
OriginalL'auteur Sruthi S