2

我已经在 nginx 中安装了 uid 模块,还添加了与 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中访问它。
我可以看到

设置 Cookie uid=fwAAAVCl6NEEvCbKAwMEAg==; expires=星期六,2013 年 11 月 16 日 07:18:41 GMT;路径=/

在我的萤火虫中获取第一个请求的响应标头。
我的 nginx 访问日志是用以下日志编写的,用于第一次请求。

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 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 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 吗?

4

1 回答 1

1

知道了。

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']中设置。

于 2012-11-16T07:58:15.317 回答