Facebook SDKV4无法登录 - Nginx PHP-FPM

时间:2015-07-14 10:39:40

标签: php nginx facebook-php-sdk php-5.6

我的localhost网站在Apache上使用Facebook SDKV4完美运行。但是在迁移到Nginx PHP-FPM之后我再也无法登录了。除了本地服务器之外,所有Facebook应用程序配置都是一样的。

我是nginx的新手我搜索了很多,并没有找到任何关于我失踪的东西。

这是我的Nginx网站配置:

server {
    listen       80;
    listen [::]:80 ipv6only=on;

    server_name  localhost;

    root       /webroot/site/public_html;

    index  index.php index.html index.htm default.html default.htm;

    access_log  /webroot/site/app/logs/access.log;

    error_log   /webroot/site/app/logs/error.log;

    location / {
              try_files   $uri $uri/ /index.php?q=$uri;
    }

    location ~ \.php$ {        

        fastcgi_param PATH_INFO $fastcgi_path_info;
        fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info;
        fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;

        fastcgi_pass 127.0.0.1:9000;
        fastcgi_index index.php;
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_intercept_errors on;
        include fastcgi_params;        
    }    
}

我认为它与会话有关。有没有人以前遇到过这个问题?任何线索都会有所帮助。

我的系统:使用自制软件安装的php-fpm 5.6,nginx-1.9.2

我的问题似乎与这个问题有关Sessions are Missing With Facebook PHP Sdk (Nginx Php-Fpm)
我无法回答这个问题。

更新: 事实证明,使用我的nginx php-fpm 5.6本地服务器在会话中不会创建csrf_token。我尝试使用我的apache(XAMPP)服务器创建csrf_token并能够登录。我仍然不知道我的配置有什么问题。任何线索都会有所帮助。

1 个答案:

答案 0 :(得分:0)

我明白了!

问题是我无法获取url参数或参数。在我的虚拟主机配置中,我将URL重写更改为:

try_files $ uri $ uri / /index.php?$args;

获取包含参数的完整URL,例如。的index.php?Q = 1234

使用SERVER变量来获取网址而不是使用GET也非常重要。

我浪费了一天的时间来搞清楚这一点:(如果有人经历过这个,你就去吧。