FB SDK产生PHP致命错误
问题描述:
首先注意到[27-Mar-2017 17:47:16 GMT + 0]一个FB SDK集成工作得很好,允许人们通过他们的Facebook帐户登录到我们的网站刚刚停止工作。服务器日志显示以下错误FB SDK产生PHP致命错误
PHP Fatal error: Cannot use object of type stdClass as array in fb-sdk/FacebookRedirectLoginHelper.php on line 191
我们还没有做过任何应该启动它的相关代码更改。 我们错过了升级吗?
答
线路191-193修复建议:
if (isset($response->access_token)) {
return new FacebookSession($response->access_token);
}
您也可以尝试转换$ respons到阵列,但不会被优化的解决方案。所以,继续尝试上述解决方案。
或者尝试替换的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);
答
更换上线 “$回应[ 'ACCESS_TOKEN']” 以 “$响应 - >的access_token” 186和187在FacebookRedirectLoginHelper.php
感谢您提供此建议的解决方案。您是否使用Facbeook登录测试过自己?你有什么想法为什么突然停止工作? – Collector
Facebook没有正式升级,但我们今天上午也看到了我们项目的这个错误,这个修复对我们很有帮助。我希望这会帮助你。 –
这似乎是在我们的开发机器上工作,很快我们会部署,我会更新此评论。非常感谢你。您使用的是哪个版本的SDK? – Collector