致命错误:在base.facebook.php中的facebook api 3.0.0中未捕获的CurlException SSL连接超时

ram*_*ale 3 facebook

我得到相同的ssl错误的所有版本的PHP-sdk我有增加超时值但strill相同的问题,但当我尝试相同的示例代码在不同的服务器上运行良好.我认为可能有一些服务器相关的问题,如lib curl或openssl的版本,你能帮助我吗?

Ale*_*Ale 8

两周前我遇到了同样的问题,两台计算机在Archlinux上运行,卷曲7.24.

Curl默认情况下使用SSL版本3,但在我的计算机上看起来像https://graph.facebook.com的卷曲在超时时结束,而当我特意要求curl使用SSL版本3时它起作用.所以我在这里解决了问题 :

在Facebook PHP SDK中,在base_facebook.php中,替换:

public static $CURL_OPTS = array(
  CURLOPT_CONNECTTIMEOUT => 10,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 60,
  CURLOPT_USERAGENT => 'facebook-php-3.1',
);
Run Code Online (Sandbox Code Playgroud)

通过:

public static $CURL_OPTS = array(
  CURLOPT_CONNECTTIMEOUT => 10,
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_TIMEOUT => 60,
  CURLOPT_USERAGENT => 'facebook-php-3.1',
  CURLOPT_SSLVERSION => 3,
);
Run Code Online (Sandbox Code Playgroud)