2013-03-01 76 views
1

我不断收到相同的错误。我刚刚安装了SSL,没有运气。我已经检查了所有其他帖子,但没有任何解决方案似乎适用于我。未捕获的CurlException:77:错误设置证书验证位置

有谁知道我该怎么做?

Fatal error: Uncaught CurlException: 77: error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none thrown in /home/acmesoft/public_html/Oddsmaker/php_sdk/base_facebook.php on line 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; 
+2

看起来重复,尝试:http://stackoverflow.com/questions/8994059/facebook-application-development-using-php-sdk – 2013-03-01 02:40:05

回答

12

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

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

您的Facebook应用程序定义之后

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

这似乎是新下载的Facebook的PHP SDK像今天的日期。我使用了之前下载的副本,可能会像4个月前一样,并没有得到这样的错误......无论如何。你的解决方法对我来说效果很好。 – 2013-05-24 08:45:57

+0

这帮了我! – 2014-04-22 12:26:57

+0

小心这个答案;请参阅下面的爱国者答案。这是一个不好的答案,因为它会让您的应用程序暴露于中间人(MITM)攻击。 – thebitguru 2017-10-25 16:14:37

8

Riyanto Wibowo的回应是危险的,因为你基本上关闭SSL。谨慎行事。从comment on the php manual

Please everyone, stop setting CURLOPT_SSL_VERIFYPEER to false or 0. If your PHP installation doesn't have an up-to-date CA root certificate bundle, download the one at the curl website and save it on your server:

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

Then set a path to it in your php.ini file, e.g. on Windows:

curl.cainfo=c:\php\cacert.pem

Turning off CURLOPT_SSL_VERIFYPEER allows man in the middle (MITM) attacks, which you don't want!

我会公布这是一个评论,但我没有足够的声誉。

+0

更糟糕的是让该死的东西工作,然后没有它的工作。人们不得不这样做,以突破功能阻力,这是curl.haxx.se(或者制造它的人)的错,而不是他们自己。 – Meiji 2018-03-08 05:10:07