web-dev-qa-db-fra.com

Comment résoudre l'erreur cURL 60: certificat SSL dans Laravel 5 en authentification Facebook

Actuellement, je fais un projet sur laravel5.

J'utilise socialiser pour l'authentification Facebook, mais j'ai l'erreur cURL Mentionnée ci-dessous.

 RequestException in CurlFactory.php line 162:
cURL error 60: SSL certificate problem: unable to get local issuer certificate (see http://curl.haxx.se/libcurl/c/libcurl-errors.html)

J'ai effectué des recherches sur Internet et apporté les modifications suivantes, mais je n'ai pas aidé

  • fichier cart.pem téléchargé
  • définir le chemin "curl.cainfo =" C:\xampp\cacert.pem "
  • supprimez également le commentaire "extension = php_curl.dll"

Mon code de contrôleur

public function fb()  
{
    return Socialize::with('facebook')->redirect();
}
public function cb()    //callback for facebook
{
    $user = Socialize::with('facebook')->user();
    var_dump($user);
}
8
Nilesh

https://laracasts.com/discuss/channels/general-discussion/curl-error-60-ssl-certificate-problem-unable-to-get-local-issuer-certificate

https://laracasts.com/discuss/channels/general-discussion/curl-error-60-ssl-certificate-problem-unable-to-get-local-issuer-certificate/replies/52954

Je viens de passer plusieurs heures à lutter contre cela. La bonne réponse est 

"en effet de mettre le fichier cacert.pem et de modifier le fichier php.ini de manière à ce qu'il corresponde à la suggestion de Moez ci-dessus. ..... mais je continuais à obtenir l'erreur CURL 60 Le truc était d'obtenir une copie vierge du PEM Toute méthode impliquant le bloc-notes Windows ou d'autres éditeurs corrompt le fichier et donne l'erreur cURL 60, etc. Enfin, j'ai trouvé https://Gist.github.com/VersatilityWerks/5719158/download et téléchargé un fichier tar avec un copie propre du fichier cacert.pem ...... tout a alors parfaitement fonctionné. "

Et puisque vous travaillez sous Windows, cela pourrait être le problème.

19
Curos

Lorsque vous êtes sur l'hôte local avec Laravel, vous pouvez facilement contourner l'erreur cURL.

accédez au fichier Client.php (vendor\guzzlehttp\guzzle\src\Client.php)

Remplacez "verify" par false

$defaults = [
        'allow_redirects' => RedirectMiddleware::$defaultSettings,
        'http_errors'     => true,
        'decode_content'  => true,
        'verify'          => false,
        'cookies'         => false
    ];
10
Olufemi Ayodele

Windows: php.ini  enter image description here

et a bien fonctionné

4
Hashmat Waziri

Pour tous ceux qui se tirent les cheveux en disant: "J’AI TÉLÉCHARGÉ UN FICHIER PRISTINE cacert.pem, MISEZ-LE À BON EMPLACEMENT, RÉPAREZ CORRECAINFO, ET RESTAURER MON SERVEUR Apache MAIS CELA NE FONCTIONNERA PAS? .. Si vous utilisez php-fpm alors service Apache2 restart et service Apache2 reload pourront pas mettre à jour la référence et vous obtiendrez toujours l'erreur 60. Si vous pointez intentionnellement curl.cainfo sur un mauvais chemin, vous n'obtiendrez pas le erreur attendue 77 (premier indice).

Pour redémarrer php-fpm et mettre à jour cette référence (sans redémarrer tout le serveur), utilisez service php-fpm restart ou service php5-fpm restart ou service php7-fpm restart ou service php7.0-fpm restart, etc., selon votre version de php. J'espère que cela vous aidera à gagner du temps.

1
Matt Rabe

eh bien, cela peut parfois être déroutant. Lorsque vous consultez le fichier php.ini, vous verrez que ;curl.cainfo = “certificate path\cacert.pem” vous devez noter qu’il ya un point-virgule devant. supprimer cela et tous les guillemets, et il suffit de placer le chemin du fichier pour qu'il ressemble à ceci curl.cainfo = C:\xampp\php\extras\ssl\cacert.pem car vous pouvez voir que mon cacert.pem se trouve dans le chemin C:\xampp\php\extras\ssl\cacert.pem CA devrait etre . Enregistrez et redémarrez votre serveur.

0
Fillz Adebayo