2013-03-01 96 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