无法从 nginx 获取第一个请求的 uid [英] Not able to get uid from nginx for first request
问题描述
我已经在 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屋!