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