2012-11-29 74 views
0

我們正在嘗試使用Facebook連接登錄。 它可以在本地主機,但無法在這條線的服務器上:facebook PHP SDK SSL錯誤 - 爲什麼?

$user_profile = $facebook->api('/me'); 

有Facebook的例外:

object(FacebookApiException)#2 (8) { 
["result":protected]=> 
array(2) { 
["error_code"]=> 
int(60) 
["error"]=> 
array(2) { 
    ["message"]=> 
    string(146) "SSL certificate problem, verify that the CA cert is OK. Details: 
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed" 
    ["type"]=> 
    string(13) "CurlException" 
    } 
} 
["message":protected]=> 
string(146) "SSL certificate problem, verify that the CA cert is OK. Details: 
error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed" 
["string":"Exception":private]=> 
string(0) "" 
["code":protected]=> 
int(60) 
["file":protected]=> 
string(43) "C:\xampp\htdocs\taska\api\base_facebook.php" 
["line":protected]=> 
int(967) 
["trace":"Exception":private]=> 
array(5) { 
[0]=> 
array(6) { 
    ["file"]=> 
    string(43) "C:\xampp\htdocs\taska\api\base_facebook.php" 
    ["line"]=> 
    int(899) 
    ["function"]=> 
    string(11) "makeRequest" 
    ["class"]=> 
    string(12) "BaseFacebook" 
    ["type"]=> 
    string(2) "->" 
    ["args"]=> 
    array(2) { 
    [0]=> 
    string(29) "https://graph.facebook.com/me" 
    [1]=> 
    array(2) { 
     ["method"]=> 
     string(3) "GET" 
     ["access_token"]=> 
     string(48) "2750040a2d1e2" 
    } 
    } 
} 

回答

1

確保您已啓用了Apache

ssl_module

你可以這樣做通過

LoadModule ssl_module modules/mod_ssl.so 
1

你fb_ca_chain_bundle.crt可能需要ŧ o更新。您可以在Facebook PHP SDK github page上找到最新版本。

This bug report on Facebook狀態:由SDK提供

fb_ca_chain_bundle.crt由DigiCert高可信CA-3 但graph.facebook.com/是使用證書從www.verisign.com/CPS INCORP發出。由參考文獻。 (c)97 VeriSign

不知道這個答案在事後2個月有多大幫助,但是更新這個文件對我很有幫助。