Php 在yii中,当用户在另一个浏览器选项卡中从facebook注销时,facebook opengraph返回uid

Php 在yii中,当用户在另一个浏览器选项卡中从facebook注销时,facebook opengraph返回uid,php,yii,facebook-php-sdk,yii-extensions,Php,Yii,Facebook Php Sdk,Yii Extensions,我在yii 1.1中工作,并拥有PHPSDK3.1.1的扩展yii facebook opengraph包装器 $facebook_id = Yii::app()->facebook->getUser(); if ($facebook_id) { // check that you get a Facebook ID before calling api() // now we know we have a Facebook

我在yii 1.1中工作,并拥有PHPSDK3.1.1的扩展yii facebook opengraph包装器

    $facebook_id = Yii::app()->facebook->getUser();
    if ($facebook_id) 
      { 
       // check that you get a Facebook ID before calling api()
       // now we know we have a Facebook Session,
       $user_info = Yii::app()->facebook->api('/me'); // so it's safe to call api()
       if ($user_info) 
       {
          // ...  code ...
       }
      }
问题在于,当用户在一个选项卡中通过facebook登录,并在另一个选项卡中从facebook注销时,
$facebook\u id
仍处于设置状态。为什么? 当尝试访问用户信息时,出现错误“需要用户会话”。 我搜索了很多,找到了类似的东西

$facebook->getSession();
获取用户会话,但此功能在yii facebook opengraph中不可用 请向我推荐任何解决方案。

试试:

if ($facebook_id) {
    try
    {
        $user_info = $fb->api('/me');
    }
    catch(FacebookApiException $e){
        $fb->destroySession();
    }
}
其中,$fb是您的$fb=new Facebook()的实例