2011-06-10 63 views
6

我正在使用Facebook API来使用access_token和fql获取Facebook照片的备份。Facebook中的SSL连接超时fql

使用FQL我得到了用户

$client = new Facebook(array('appId' => 'xxxx', 'secret' => 'xxxxxx')); 
$fql_albums = "SELECT aid,name from album where owner=$user_Id"; 

$albumId = $client->api(array(
    'method'  => 'fql.query', 
    'access_token' => $user_access_token, 
    'query'  => $fql_albums, 
)); 

的相册列表获得这个名单我运行一个查询来获取所有相册中的照片,然后下载专辑后,然后移动到下一张专辑。

只下载了两张专辑,然后得到一个错误如下图所示

(!) Fatal error: Uncaught CurlException: 28: SSL connection timeout thrown in D:\wamp\www\FrostBox1.0\Facebook\FaceBookConnect\facebook-php-sdk\src\base_facebook.php on line 759

什么可能我是做错了什么?

回答

16
  1. 开放base_facebook.php
  2. 找到CURLOPT_CONNECTTIMEOUT => 10
  3. 将其更改为CURLOPT_CONNECTTIMEOUT => 30

这就是它!

+0

感谢它的工作! – Asghar 2012-02-14 15:09:11

18

对于我来说,溶液中加入base_facebook.php

$opts[CURLOPT_SSLVERSION] = 3; 

curl_setopt_array($ch, $opts); 

感谢: https://developers.facebook.com/bugs/213367445404472/?browse=search_4eeccca164bbe6357503363

+0

谢谢,固定给我! – asuth 2012-03-29 19:24:10

+0

这个答案解决了我的问题!我认为某些版本的libcurl默认不会激活SSLv3 – 2012-03-30 17:40:34

+0

这也解决了我的问题,经过很多调试甚至联系我们的网络主机,让他们更新并使用OpenSSL重新安装Apache的最新(修补版本)。感谢 – 2012-04-04 15:19:38

0

我解决它通过添加:

CURLOPT_SSLVERSION  => 3, 

行后:

CURLOPT_USERAGENT  => 'facebook-php-3.1', 

在 - base_facebook.php

(这会使卷曲使用SSLv3