使用facebook登录Codeigniter,getUser始终返回0
我在这里和网上搜索我的问题,但我没有找到任何解决办法,这让我发疯,我不知道问题出在哪里。 问题是,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(){
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
);