0

FacebookConnectでログインしようとしています。ローカルホストでは機能しますが、次の行のサーバーでは失敗します。

$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"
    }
  }
}
4

2 に答える 2

1

fb_ca_chain_bundle.crt を更新する必要がある場合があります。Facebook PHP SDK github ページで最新バージョンを見つけることができます。

Facebook のこのバグ レポートには次のように記載されています。

SDK によって提供される fb_ca_chain_bundle.crt は、DigiCert High Assurance CA-3 によって発行されますが、graph.facebook.com/ は www.verisign.com/CPS Incorp.by Ref. LIABILITY LTD.(c)97 ベリサイン

この回答が実際の2か月後にどれほど役立つかはわかりませんが、このファイルを更新するとうまくいきました。

于 2013-01-29T16:56:05.020 に答える
1

ssl_moduleApache でが有効になっていることを確認してください

あなたはこれを行うことができます

LoadModule ssl_module modules/mod_ssl.so
于 2012-11-29T17:12:41.793 に答える