Php Codeigniter getuser()在facebook对话框后返回0
你可能会说这篇文章有点含糊不清,但我已经搜索了将近两天了,没办法找到答案 在移动到新服务器并安装了新的ssl之后,我在两种不同的情况下登录facebook时遇到了困难 第一种情况: 用户尚未登录facebook,facebook登录会将用户重定向到facebook登录。用户登录后,facebook重定向到重定向url,getuser返回0 若用户返回到我网站上的facebook登录页面,则可以登录,这样当用户已经登录到facebook时,getuser就可以工作 第二种情况: 用户注册后,转到“权限”对话框,当用户授予权限时,getuser再次返回0,所以我想跳过第一个场景,但这个场景是病毒性的 我尝试过以下解决方案: 我们现在正在使用nginx,在以前的服务器中我做了这个更新,今天我将告诉您我们已经添加了哪个配置 1-需要更新codeigniter和新php版本的Base_facebook.php代码 2-Nginx cookie大小更改,开始时,即使是正常的facebook登录也无法工作 3-我读了一些关于nginx自定义头的内容,我们做了以下更新 4-CURLOPT_SSL_VERIFYPEER=>false添加到base_facebook,这也是其他用户的另一个解决方案 我想在所有这些更新之后,我们错过了一些东西,但我真的看不出哪里出了问题?因此,如果你能与我分享你的经验,我们就能找出问题所在,我将非常高兴 5-解析$\u str$\u SERVER['QUERY\u STRING'],$\u请求;在包含库之前添加 我的例子是fb_登录控制器。我是tank_auth与tank_auth社交Php Codeigniter getuser()在facebook对话框后返回0,php,facebook,codeigniter,nginx,Php,Facebook,Codeigniter,Nginx,你可能会说这篇文章有点含糊不清,但我已经搜索了将近两天了,没办法找到答案 在移动到新服务器并安装了新的ssl之后,我在两种不同的情况下登录facebook时遇到了困难 第一种情况: 用户尚未登录facebook,facebook登录会将用户重定向到facebook登录。用户登录后,facebook重定向到重定向url,getuser返回0 若用户返回到我网站上的facebook登录页面,则可以登录,这样当用户已经登录到facebook时,getuser就可以工作 第二种情况: 用户注册后,转到“
function fblogin()
{
parse_str($_SERVER['QUERY_STRING'],$_REQUEST);
$this->load->helper(array('form', 'url'));
$this->load->library('form_validation');
$this->load->library('security');
$this->load->library('tank_auth');
$this->load->library('tank_auth_social');
$this->lang->load('tank_auth');
$fb_id = $this->facebook->getUser();
//inline_debug($fb_id);
// To see if we have facebook id
// User is found
if( isset($fb_id) )
{
$user_profile = $this->facebook->api('/'.$fb_id);
}
我的确认:
PHP版本5.5.9-1ubuntu4
Nginx,FPM-PHP
我的服务器在digitalocean上
非常感谢。寻求调试帮助的问题此代码为什么不起作用?必须包括所需的行为、特定的问题或错误以及在问题本身中重现这些问题所需的最短代码。没有明确问题陈述的问题对其他读者没有用处。请参阅:添加了示例代码,我没有添加示例代码,因为我认为这个问题是服务器端的问题。每个都在3天前工作。升级到使用新SDK。我使用的是Codeigniter,v4使用的是供应商类型,如果我想使用v4,我必须改变一切。万不得已,我会做的。我的主要问题是在facebook授权后训练getuser。在您的网站控制面板中是否有更改PHP版本的选项?我有类似的问题,当我改为5.4它的工作。请也试试。