FB SDK产生PHP致命错误

问题描述 投票:-1回答:3

首先注意到[2017年3月27日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

我们没有做过应该启动它的任何相关代码更改。我们错过了升级吗?

php fbsdk
3个回答
3
投票

第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']);

WITH

  $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);

0
投票

在FacebookRedirectLoginHelper.php的第186行和第187行替换“$ response ['access_token']”和“$ response-> access_token”


0
投票
© www.soinside.com 2019 - 2024. All rights reserved.