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=Sat, 16-Nov-13 07:18:41 GMT; パス=/

最初のリクエストの応答ヘッダーの私のfirebugで。
そして、私の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 に答える