Как разрешить ошибку cURL 60: сертификат SSL в Laravel 5 при аутентификации Facebook

В настоящее время я делаю проект на laravel5.

Я использую socialize для проверки подлинности в Facebook, но я получил ошибку cURL, упомянутую ниже.

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) 

Я искал в Интернете и делал следующие изменения, но не помог

  • загруженный файл cart.pem
  • set path "curl.cainfo =" C: \ xampp \ cacert.pem "
  • также uncomment "extension = php_curl.dll"

Мой код в контроллере

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

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

Я просто провел несколько часов, сражаясь с этим. Правильный ответ

«действительно, чтобы поместить файл cacert.pem и внести изменения в файл php.ini, чтобы он соответствовал, как было предложено Moez выше. ….. но я продолжал получать CURL-ошибку 60-х. Трюк получал чистую копию файла PEM! метод, включающий блокнот Windows или другие редакторы, развращает файл и дает ошибку cURL 60. Наконец я нашел https://gist.github.com/VersatilityWerks/5719158/download и загрузил tar-файл с чистой копией cacert.pem файл …… тогда все сработало отлично ».

И поскольку вы работаете над Windows, это может быть проблемой.

В то время как на локальном хосте с Laravel вы можете легко обойти ошибку cURL.

перейдите к файлу Client.php (vendor \ guzzlehttp \ guzzle \ src \ Client.php)

Изменить "verify" на false

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

Windows: php.ini введите описание изображения здесь

и отлично работал

возможно, иногда это путает. когда вы проверите файл php.ini вы увидите ;curl.cainfo = “certificate path\cacert.pem” вы должны отметить, что перед ним находится точка с запятой. удалите это и все метки кавычек и просто поместите путь к файлу таким образом, чтобы этот curl.cainfo = C:\xampp\php\extras\ssl\cacert.pem как вы можете видеть, мой cacert.pem находится в пути C: \ xampp \ php \ extras \ ssl \ cacert.pem, где он должен быть. сохранить и перезагрузить сервер.