Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/facebook/8.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
Php Codeigniter getuser()在facebook对话框后返回0_Php_Facebook_Codeigniter_Nginx - Fatal编程技术网

Php Codeigniter getuser()在facebook对话框后返回0

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就可以工作 第二种情况: 用户注册后,转到“

你可能会说这篇文章有点含糊不清,但我已经搜索了将近两天了,没办法找到答案

在移动到新服务器并安装了新的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社交

 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它的工作。请也试试。