如何解决cURL错误60:在Facebook身份验证时,Laravel 5中的SSL证书

Nil*_*esh 8 php ssl curl facebook laravel-5

目前,我正在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)
Run Code Online (Sandbox Code Playgroud)

我在互联网上搜索并完成了以下更改,但没有帮助

  • 下载了cart.pem文件
  • 设置路径"curl.cainfo ="C:\ xampp\cacert.pem"
  • 也取消注释"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);
}
Run Code Online (Sandbox Code Playgroud)

Cur*_*ros 19

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's诀窍是得到一个干净的PEM文件副本!任何涉及Windows记事本或其他编辑器的方法破坏文件并给出cURL错误60等.最后我找到了https://gist.github.com/VersatilityWerks/5719158/download并下载了一个带有cacert.pem干净副本的tar文件文件......然后一切都很完美."

而且由于您正在使用Windows,这可能是问题所在.


小智 11

在使用Laravel的本地主机上,您可以轻松绕过cURL错误.

导航到Client.php文件(vendor\guzzlehttp\guzzle\src\Client.php)

将"验证"更改为false

$defaults = [
        'allow_redirects' => RedirectMiddleware::$defaultSettings,
        'http_errors'     => true,
        'decode_content'  => true,
        'verify'          => false,
        'cookies'         => false
    ];
Run Code Online (Sandbox Code Playgroud)


Has*_*iri 5

视窗:php.ini 在此处输入图片说明

并且工作正常