在Hybridauth中为Yii Framework配置Facebook

时间:2013-01-10 19:35:09

标签: facebook twitter yii hybridauth

我正在使用Yii框架和HybridAuth进行社交登录操作,我有谷歌和雅虎工作正常,但我不能让Facebook和Twitter工作。

我需要一个Https://域吗?或者只是添加一些配置?

当我尝试使用facebook或twitter登录时,我会收到此PHP警告:

  

include(DefaultController.php)[function.include]:无法打开流:   没有这样的文件或目录

错误显示在供应商\ yii_1.1.10 \ YiiBase.php(418):

{
407                     foreach(self::$_includePaths as $path)
408                     {
409                         $classFile=$path.DIRECTORY_SEPARATOR.$className.'.php';
410                         if(is_file($classFile))
411                         {
412                             include($classFile);
413                             break;
414                         }
415                     }
416                 }
417                 else
418                     include($className.'.php');
419             }
420             else  // class name with namespace in PHP 5.3
421             {
422                 $namespace=str_replace('\\','.',ltrim($className,'\\'));
423                 if(($path=self::getPathOfAlias($namespace))!==false)
424                     include($path.'.php');
425                 else
426                     return false;
427             }
428             return class_exists($className,false) || interface_exists($className,false);
429         }
430         return true;

这是我的主配置文件

'modules'=>array('admin',
        'hybridauth' => array(
            'baseUrl' => 'http://'. $_SERVER['SERVER_NAME'] . '/hybridauth', 
            'withYiiUser' => false, // Set to true if using yii-user
            "providers" => array ( 

                "yahoo" => array ( 
                    "enabled" => true 
                ),

                "google" => array ( 
                    "enabled" => true,
                    "keys"    => array ( "id" => "[private]", "secret" => "[private]" ),
                    "scope"   => ""
                ),

                "facebook" => array ( 
                    "enabled" => true,
                    "keys"    => array ( "id" => "[private]", "secret" => "[private]" ),
                    "scope"   => "email,publish_stream", 
                    "display" => "" 
                ),

                "twitter" => array ( 
                    "enabled" => true,
                    "keys"    => array ( "key" => "[private]", "secret" => "[private]" ) 
                )
            )
        )
    ),

2 个答案:

答案 0 :(得分:1)

安装HybridAuth时遇到了同样的错误。 通过改变一些文件的大小来解决它。

我的Linux服务器区分大小写,因此无法找到'facebook.php'文件,而'Facebook.php'工作

答案 1 :(得分:1)

尝试导入hybridauth文件:

<强>配置/ main.php

'import'=>array(
    ...
    // for hybridauth
    'application.modules.hybridauth.controllers.*',
    ...
),