fbsdk — FB SDK выдает фатальную ошибку PHP

Сначала заметил [27-Mar-2017 17:47:16 GMT + 0], что интеграция FB SDK, которая очень хорошо работала, позволяя людям войти на наш сайт через свою учетную запись Facebook, просто перестала работать. Журналы сервера показывают следующую ошибку

PHP Fatal error:  Cannot use object of type stdClass as array in fb-sdk/FacebookRedirectLoginHelper.php on line 191

Мы не сделали каких-либо соответствующих изменений кода, которые должны были инициировать его.
Мы пропустили обновление?

-1

Решение

Предлагаемое исправление для линии 191-193:

if (isset($response->access_token)) {
return new FacebookSession($response->access_token);
}

Вы также можете попробовать конвертировать $response к массиву, но это не будет оптимизированным решением. Итак, попробуйте и вышеупомянутое решение.

Или попробуйте заменить в src/Facebook/FacebookRedirectLoginHelper.php

 if (isset($response['access_token'])) {
return new FacebookSession($response['access_token']);

С

  $accessToken = null;
if (is_object($response) && isset($response->access_token)) {
$accessToken = $response->access_token;
} elseif (is_array($response) && isset($response['access_token'])) {
$accessToken = $response['access_token'];
}
if (isset($accessToken)) {
return new FacebookSession($accessToken);
2

Другие решения

Замените «$ response [‘access_token’]» на «$ response-> access_token» в строке 186 и 187 в FacebookRedirectLoginHelper.php

0

Лучшее решение — перейти на SDK 5
https://developers.facebook.com/docs/php/howto/example_facebook_login

0
По вопросам рекламы [email protected]