无法从 nginx 获取第一个请求的 uid [英] Not able to get uid from nginx for first request

查看:102
本文介绍了无法从 nginx 获取第一个请求的 uid的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经在 nginx 中安装了 uid 模块,还添加了与 uid 相关的配置.

I have installed uid module in nginx , also have added configs related for uid.

userid          on;
userid_name     uid;
userid_expires  365d;
userid_p3p      'policyref="/w3c/p3p.xml", CP="CUR ADM OUR NOR STA NID"';

我成功获取了 uid 但只有在第一次请求之后.在我的第一个请求中,它只设置了 uid.我无法在 php 中访问它.
我可以看到

I am successfully getting uid but only after first request.on my first request it just sets uid.I can't access it in php.
I can see

Set-Cookie uid=fwAAAVCl6NEEvCbKAwMEAg==;到期=周六,16-11-13 07:18:41 GMT;路径=/

Set-Cookie uid=fwAAAVCl6NEEvCbKAwMEAg==; expires=Sat, 16-Nov-13 07:18:41 GMT; path=/

在我的第一个请求的响应标头的萤火虫中.
我的 nginx 访问日志是用以下日志写入的第一次请求.

in my firebug for first request's Response Headers.
And my nginx access log is written with following logs for first request.

127.0.0.1 - - [16/Nov/2012:12:48:41 +0530] "GET/_p.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 "http:/25"/127.0.0.1/_p.php" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100403 Fedora/3.6.3-4.fc13 Firefox/3.6.3" "-"

127.0.0.1 - - [16/Nov/2012:12:48:41 +0530] "GET /_p.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2536 "http://127.0.0.1/_p.php" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100403 Fedora/3.6.3-4.fc13 Firefox/3.6.3" "-"

127.0.0.1 - - [16/Nov/2012:12:48:41 +0530] "GET/_p.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 "http/215"/127.0.0.1/_p.php" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100403 Fedora/3.6.3-4.fc13 Firefox/3.6.3" "-"

127.0.0.1 - - [16/Nov/2012:12:48:41 +0530] "GET /_p.php?=PHPE9568F35-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2158 "http://127.0.0.1/_p.php" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100403 Fedora/3.6.3-4.fc13 Firefox/3.6.3" "-"

127.0.0.1 - - [16/Nov/2012:12:48:44 +0530] "GET/_p.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 "-25"Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100403 Fedora/3.6.3-4.fc13 Firefox/3.6.3" "-"

127.0.0.1 - - [16/Nov/2012:12:48:44 +0530] "GET /_p.php?=PHPE9568F34-D428-11d2-A769-00AA001ACF42 HTTP/1.1" 200 2536 "-" "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.9.2.3) Gecko/20100403 Fedora/3.6.3-4.fc13 Firefox/3.6.3" "-"

谁能告诉我如何在 php 中为我的第一个请求获取 uid?

Can someone tell me how to get uid for my first request in php?

推荐答案

知道了.

location ~ \.php$ {
    root           /usr/share/nginx/html;
    try_files $uri =404;
    fastcgi_pass   127.0.0.1:9000;
    fastcgi_index  index.php;
    fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
    fastcgi_param  UID_GOT $uid_got;
    fastcgi_param  UID_SET $uid_set;
    include        fastcgi_params;
}

添加了这些 nginx 配置,当第一个请求被调用时,我在 $_SERVER['UID_SET'] 中获取 uid,对于其他请求,uid 设置在 $_SERVER['UID_GOT'].

Added these nginx configurations , when first request is called I get uid inside $_SERVER['UID_SET'] and for other requests uid is set in $_SERVER['UID_GOT'].

这篇关于无法从 nginx 获取第一个请求的 uid的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆