Currently, I am doing a project on laravel5.
I use socialize for Facebook authentication,But I got cURL error Mentioned below.
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)
I have searched on internet and done following changes but didn't helped
- downloaded cart.pem file
- set path "curl.cainfo ="C:\xampp\cacert.pem"
- also uncomment "extension=php_curl.dll"
My code of in controller
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
And since you are working on Windows, this could be the problem.
For anyone pulling their hair out saying "I'VE DOWNLOADED A PRISTINE cacert.pem FILE, PUT IT IN THE CORRECT LOCATION, SET curl.cainfo CORRECTLY, AND RESTARTED MY APACHE SERVER BUT IT JUST DOESN'T WORK!?!?"... If you're using php-fpm then
service apache2 restart
andservice apache2 reload
will not update the reference and you'll continue to get error 60. If you intentionally point curl.cainfo to a bad path, you will not get the expected error 77 (first clue).To restart php-fpm and update that reference (without rebooting the whole server), use
service php-fpm restart
orservice php5-fpm restart
orservice php7-fpm restart
orservice php7.0-fpm restart
, etc, depending on your php version. Hope this helps save someone time.well it may sometimes be confusing. when you check the
php.ini
file you will see;curl.cainfo = “certificate path\cacert.pem”
you have to note there is a semicolon in front. remove that and all the quotes marks, and simple put the file path to look like thiscurl.cainfo = C:\xampp\php\extras\ssl\cacert.pem
as you can see mycacert.pem
is in the path C:\xampp\php\extras\ssl\cacert.pem thats where it should be . save and restart your server.While on local-host with Laravel you can easily bypass cURL error.
navigate to Client.php file (vendor\guzzlehttp\guzzle\src\Client.php)
Change "verify" to false
Windows : php.ini
and worked fine