webentwicklung-frage-antwort-db.com.de

So lösen Sie den cURL-Fehler 60: SSL-Zertifikat in Laravel 5 während der Facebook-Authentifizierung

Derzeit mache ich ein Projekt auf Laravel5.

Ich benutze socialize für die Facebook-Authentifizierung, aber ich habe den cURL-Fehler erwähnt.

 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)

Ich habe im Internet gesucht und folgende Änderungen vorgenommen, aber nicht geholfen

  • heruntergeladene cart.pem-Datei
  • set path "curl.cainfo =" C:\xampp\cacert.pem "
  • auch unkommentiert "extension = php_curl.dll"

Mein Code in Controller

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-zertifikat

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

Ich habe gerade einige Stunden damit verbracht, mich damit auseinanderzusetzen. Die richtige Antwort ist 

"In der Tat, um die Datei cacert.pem zu platzieren und die php.ini-Datei entsprechend den von Moez vorgeschlagenen Änderungen zu ändern. ..... aber ich erhielt immer wieder den CURL-Fehler 60. Der Trick bestand darin, eine saubere Kopie der PEM zu erhalten Jede Methode, die Windows Notepad oder andere Editoren beinhaltet, beschädigt die Datei und gibt den cURL-Fehler 60 usw. Schließlich fand ich https://Gist.github.com/VersatilityWerks/5719158/download und lud eine tar-Datei mit einem saubere Kopie der Datei cacert.pem ...... alles hat perfekt funktioniert. "

Und da Sie unter Windows arbeiten, könnte dies das Problem sein.

19
Curos

Während Sie sich auf dem local-Host mit Laravel befinden, können Sie den cURL-Fehler leicht umgehen.

navigieren Sie zu der Datei Client.php (Hersteller\guzzlehttp\guzzle\src\Client.php).

Ändern Sie "Verify" in "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

und hat gut funktioniert

4
Hashmat Waziri

Für alle, die sich die Haare ausziehen und sagen: "Ich habe eine originelle cacert.pem-Datei heruntergeladen, sie in die richtige Position eingetragen, curl.cainfo richtig eingestellt und meinen Apache-Server neu gestartet, aber es funktioniert einfach nicht!". Wenn Sie php-fpm verwenden, aktualisieren service Apache2 restart und service Apache2 reload nicht die Referenz, und Sie erhalten weiterhin die Fehlermeldung 60. Wenn Sie curl.cainfo absichtlich auf einen fehlerhaften Pfad verweisen, erhalten Sie keine erwarteter Fehler 77 (erster Hinweis).

Um php-fpm neu zu starten und die Referenz zu aktualisieren (ohne den gesamten Server neu zu starten), verwenden Sie service php-fpm restart oder service php5-fpm restart oder service php7-fpm restart oder service php7.0-fpm restart usw., je nach Ihrer PHP-Version. Hoffe, das hilft jemandem Zeit zu sparen.

1
Matt Rabe

nun, es kann manchmal verwirrend sein. Wenn Sie die php.ini-Datei überprüfen, sehen Sie ;curl.cainfo = “certificate path\cacert.pem”, dass Sie ein Semikolon vor sich sehen müssen. Entfernen Sie das und alle Anführungszeichen und setzen Sie den Dateipfad einfach so, dass er wie folgt aussieht curl.cainfo = C:\xampp\php\extras\ssl\cacert.pem. Wie Sie sehen, befindet sich mein cacert.pem im Pfad C:\xampp\php\extras\ssl\cacert.pem es sollte sein . Speichern Sie Ihren Server und starten Sie ihn erneut.

0
Fillz Adebayo