Facebook PHP SDK - getUser () неожиданно возвращает 0

Прежде всего, чтобы убрать это с дороги, яМы часами просматривали ответы на этот вопрос здесь, в StackOverflow, и пытались решить его самостоятельно, но это не так.не работает (больше). В общем, как бы то ни было...

Вчера все работало нормально. Ложился спать, проснулся, авторизоваться с фэйсбукабольше не работаю на 2 моих сайтах. Ссылка для входа отправляет меня на страницу Facebook, которая требует от меня одобрения приложения, но после перенаправления обратно на сайт неЯ не могу войти в систему. Я быстро отследил проблему, чтобы getUser () всегда возвращал 0. Поэтому я создал новое (тестовое) приложение с очень простым кодом, просто чтобы посмотреть, работает ли это. Это нет. Вот's код:

_oauthRequest(
          $this->getUrl('graph', '/oauth/access_token'),
          $params = array('client_id' => $this->getAppId(),
                          'client_secret' => $this->getAppSecret(),
                          'redirect_uri' => $redirect_uri,
                          'code' => $code));
    } catch (FacebookApiException $e) {
      // most likely that user very recently revoked authorization.
      // In any event, we don't have an access token, so say so.
      print_r($e);
      return false;
    }

print_r ($ e) отображает огромную кучу тарабарщины (I 'Я немного нуб, так что я могучитать почти все, что имеет смысл). Единственное, что я вижу, повторение там

Проблема с сертификатом SSL, убедитесь, что сертификат CA в порядке. Подробности: ошибка: 14090086: SSL

И это, как далеко яМы пришли с отладкой этого. Любая помощь приветствуется. Еще раз, вчера все работало нормально. Сегодня, без изменения одной строки кода, это небольше не работает. Ума непостижимо = (О да, яработает WAMP с PHP 5.4.3

РЕДАКТИРОВАТЬ: Здесь 's сообщение об ошибке:http://i.imgur.com/TeY8h.png

РЕДАКТИРОВАТЬ 2: Решено:

В base_facebook.php добавьте следующие 2 строки в $ CURL_OPTS:

CURLOPT_SSL_VERIFYPEER => false,
CURLOPT_SSL_VERIFYHOST => 2

Что делает это ... Я

public static $CURL_OPTS = array(
    CURLOPT_CONNECTTIMEOUT => 10,
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_TIMEOUT        => 60,
    CURLOPT_USERAGENT      => 'facebook-php-3.2',
    CURLOPT_SSL_VERIFYPEER => false,
    CURLOPT_SSL_VERIFYHOST => 2
  );

Я не уверен, насколько это серьезная проблема безопасности, но это заставляет Логин с Facebook работать, так что у вас есть (и у меня это есть. Весь день потерян на этом, fml).

EDIT3: выпущен новый SDK, который исправляет эту проблему:https://github.com/facebook/facebook-php-sdk

Ответы на вопрос(4)

Ваш ответ на вопрос