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


Uncaught CurlException: 77 : error setting certificate verify locations

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

有谁知道我该怎么做吗?

致命错误:Uncaught CurlException: 77:设置证书错误文件:/etc/pki/tls/cert/ca-bundle.crt CApath:没有扔进去/home/acmesoft/public_html/Oddsmaker/php_sdk/base_facebook.php上线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;

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)攻击,这是你不想要的!

我本来想把这篇文章作为评论发表的,但是我的名气不够。

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

Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYPEER] = false;
Facebook::$CURL_OPTS[CURLOPT_SSL_VERIFYHOST] = 2;

after your facebook apps definition

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

您只需要fb_ca_chain_bundle。CRT与base_facebook.php在同一文件夹中。你可以在这里下载:https://github.com/facebook/facebook-php-sdk/blob/master/src/fb_ca_chain_bundle.crt