未捕获的CurlException:77:错误设置证书验证位置

Pet*_*lio 2 php curl facebook

我一直得到同样的错误.我刚刚安装了SSL,没有运气.我已经检查了所有其他帖子,但没有一个解决方案似乎适合我.

有谁知道我该怎么办?

致命错误:未捕获CurlException:77:错误设置证书验证位置:CAfile:/etc/pki/tls/certs/ca-bundle.crt CApath:none /home/acmesoft/public_html/Oddsmaker/php_sdk/base_facebook.php on第977行

if ($result === false) {
  $e = new FacebookApiException(array(
    'error_code' => curl_errno($ch),
    'error' => array(
    'message' => curl_error($ch),
    'type' => 'CurlException',
    ),
  ));
  curl_close($ch);
  throw $e;
}
curl_close($ch);
return $result;
Run Code Online (Sandbox Code Playgroud)

Riy*_*owo 11

我和你有同样的错误,这个问题解决了,我只是把这2行

Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2;
Run Code Online (Sandbox Code Playgroud)

在你的Facebook应用程序定义后

$facebook = new Facebook(array(
  'appId'  => 'xxx',
  'secret' => 'xxx',
  'cookie' => true,
  'perms' => 'publish_stream,read_stream,email',
  'domain' => 'example.com'
))
Run Code Online (Sandbox Code Playgroud)

  • 这个答案要小心;请参阅下面的爱国者的答案。这是一个不好的答案,因为它会使您的应用程序受到中间人(MITM)攻击。 (3认同)

pat*_*iot 11

Riyanto Wibowo的回应是危险的,因为你实际上是在关闭SSL.警惕走这条路.来自对php手册评论:

请大家,停止将CURLOPT_SSL_VERIFYPEER设置为false或0.如果您的PHP安装没有最新的CA根证书包,请在curl网站下载并将其保存在您的服务器上:

http://curl.haxx.se/docs/caextract.html

然后在php.ini文件中设置一个路径,例如在Windows上:

curl.cainfo = C:\ PHP中\ cacert.pem

关闭CURLOPT_SSL_VERIFYPEER允许中间人(MITM)攻击,这是你不想要的!

我会发布这个评论,但我没有足够的声誉.