Тайм-аут соединения SSL в Facebook - PullRequest
6 голосов
/ 10 июня 2011

Я использую API Facebook, чтобы получить резервную копию фотографий Facebook, используя access_token и 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,
));

После получения этого списка я запускаю запрос, чтобы получить все фотографии в альбоме, затем загружаю этот альбом и затем перехожу к следующему альбому.

Он загружает только 2 альбома, а затем выдает ошибку, как показано ниже

(!) Фатальная ошибка: Uncaught CurlException: 28: Тайм-аут соединения SSL брошенный в D: \ WAMP \ WWW \ FrostBox1.0 \ Facebook \ FaceBookConnect \ facebook-PHP-SDK \ SRC \ base_facebook.php по линии 759

Что я мог делать не так?

Ответы [ 3 ]

18 голосов
/ 29 марта 2012

Для меня решение было добавить

$opts[CURLOPT_SSLVERSION] = 3;

до

curl_setopt_array($ch, $opts);

в base_facebook.php

Благодаря: https://developers.facebook.com/bugs/213367445404472/?browse=search_4eeccca164bbe6357503363

16 голосов
/ 03 октября 2011
  1. открыть base_facebook.php
  2. найти CURLOPT_CONNECTTIMEOUT => 10
  3. изменить его на CURLOPT_CONNECTTIMEOUT => 30

Вот оно!

0 голосов
/ 13 апреля 2012

Я решил это, добавив:

CURLOPT_SSLVERSION     => 3,

после строки:

CURLOPT_USERAGENT      => 'facebook-php-3.1',

в - base_facebook.php

(будет использовать curl SSLv3)

...