【问题标题】:How to configure php sdk 4 in Yii如何在 Yii 中配置 php sdk 4
【发布时间】:2014-07-23 10:50:10
【问题描述】:

我是 fbdevelopment 的新手,所以我下载了 php sdk 4 并在名为 facebook-sdk 的组件中扩展,然后我在 main.php 中进行了配置 作为

'import'=>array(
    'application.models.*',
    'application.components.*',
    'application.components.facebook-sdk.*',

然后在我的站点控制器中我想调用:

$session = new FacebookSession($_POST['accessToken']); 

但即使我有一个访问令牌,它也会返回:

include(FacebookSession.php): failed to open stream: No such file or directory 

我们必须在yii中配置php-sdk 4

【问题讨论】:

  • 您确定/components/facebook-sdk/ 中有一个名为FacebookSession 的文件吗?这应该区分大小写
  • 是的,我将所有文件粘贴到 /components/facebook-sdk/
  • 文件权限设置是否正确?它可以被 php / web 服务器进程读取?
  • ya Manquer 权限为 777
  • 你需要 protected/components/facebook-sdk/FacebookSession.php 中的文件

标签: php yii facebook-php-sdk


【解决方案1】:

我和你一样遇到过这个问题,我花了几个小时来调试。最后,我发现我错过了类名之前的命名空间“Facebook\”。 这是我的代码,它运行良好:

        require_once 'facebook-php-sdk/autoload.php';       
        require_once 'facebook-php-sdk/src/Facebook/FacebookSession.php';
        require_once 'facebook-php-sdk/src/Facebook/FacebookRequest.php';
        require_once 'facebook-php-sdk/src/Facebook/GraphObject.php';
        require_once 'facebook-php-sdk/src/Facebook/GraphUser.php';
        require_once 'facebook-php-sdk/src/Facebook/FacebookSDKException.php';
        require_once 'facebook-php-sdk/src/Facebook/FacebookRequestException.php';

        Facebook\FacebookSession::setDefaultApplication(FACEBOOK_APP_ID, FACEBOOK_APP_SECRET);
        $helper = new Facebook\FacebookRedirectLoginHelper('http://mywebsite.com');
        try {
            $session = $helper->getSessionFromRedirect();                   
        } catch(Facebook\FacebookRequestException $ex) {
            // When Facebook returns an error
        } catch(\Exception $ex) {
            // When validation fails or other local issues
        }

        if ( isset($session) ) {
            // Logged in
            $me = (new Facebook\FacebookRequest($session, 'GET', '/me'))->execute()->getGraphObject(GraphUser::className());
            var_dump($me);
        }
        else {
             $loginUrl = $helper->getLoginUrl();
             header("Location: ".$loginUrl); exit;
        }

【讨论】:

  • 关于 php sdk 4 而不是 3
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-30
  • 2012-10-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-10-23
相关资源
最近更新 更多