Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用facebook登录Codeigniter,getUser始终返回0_Facebook_Codeigniter_Facebook Php Sdk_Codeigniter 2 - Fatal编程技术网

使用facebook登录Codeigniter,getUser始终返回0

使用facebook登录Codeigniter,getUser始终返回0,facebook,codeigniter,facebook-php-sdk,codeigniter-2,Facebook,Codeigniter,Facebook Php Sdk,Codeigniter 2,我在这里和网上搜索我的问题,但我没有找到任何解决办法,这让我发疯,我不知道问题出在哪里。 问题是,getUser()函数始终返回0 这里是我的图书馆: include(APPPATH.'libraries/facebook.php'); class Fbconnect extends Facebook{ public $user_id = null; public $user = null; function Fbconnect(){

我在这里和网上搜索我的问题,但我没有找到任何解决办法,这让我发疯,我不知道问题出在哪里。 问题是,getUser()函数始终返回0

这里是我的图书馆:

include(APPPATH.'libraries/facebook.php');

    class Fbconnect extends Facebook{

        public $user_id = null;
        public $user = null;

        function Fbconnect(){
            $ci =& get_instance();
            $ci->load->config('facebook',true);
            $config = $ci->config->item('facebook');
            parent::__construct($config);
            $this->user_id = $this->getUser();
            $me = null;
            if($this->user_id){
                try{
                    $me = $this->api('/me');
                    $this->user = $me;
                }catch(FacebookApiException $e){
                    error_log($e);
                }
            }
        }
    }
这是控制器

function facebookRequest(){
        $this->load->library('fbconnect');
        $data = array(
            'redirect_uri' => base_url().'home/handleFacebookRequest',
            'scope' => 'email'
        );

        redirect($this->fbconnect->getLoginUrl($data));
    }

    function handleFacebookRequest(){
        $this->load->library('fbconnect');
        if($this->fbconnect->user){
            echo '<pre>';
            print_r($this->fbconnect->user);

        }else{
            echo "Login operation faild, try again later";
        }
    }

在你的插件
APPPATH.libraries/facebook.php'
(我相信你是从facebook下载的)中有一个函数
errorLog($msg)
,如果你不想麻烦的话,这个函数会将错误记录在php错误日志(或者apache错误日志)中,并将其重新写入CI错误日志,您只需回显
$msg
,查看是否有任何错误。相应地调试


如果您没有更改下载的核心文件中的任何内容,我打赌您在
函数makeRequest(args[…]
)中的curl请求需要
CURLOPT\u SSL\u VERIFYPEER
设置为
false
,或者更确切地说,这一行:
$opts[CURLOPT\u SSL\u VERIFYPEER]=false
需要添加

我可以添加这一行
$opts[CURLOPT\u SSL\u VERIFYPEER]=false
@MohamedNagy在你加载的插件中,有一个函数
makeRequest
里面是一个curl调用。看到了吗。您是否尝试了错误日志?好的,我尝试了,当我打印
$e
时出现异常:
CurlException:7:无法连接到主机
$config = array(
    'appId' => 'xxxxxx',
    'secret' => 'xxxxxxxxxxxxxxxxxxxx',
    'cookie' => true
);