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é
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);
}
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.
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
];
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.
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.