1

理由はわかりませんが、すべての回答/グーグルを試しました..何も見つかりませんでした。状況は次のとおりです。

ローカルホスト コード

    session_start();
    echo session_id();
    print_r($_COOKIE['PHPSESSID']);

結果:

アプリのページ間、およびページの更新時に一貫した session_id()。$_COOKIE['PHPSESSID'] は session_id() に一致します

ライブサーバー

    session_start();
    echo session_id();
    print_r($_COOKIE['PHPSESSID']);

結果:

session_id() は、リクエスト、ページのリロード、または別のページへのアクセスごとに変更されます。$_COOKIE['PHPSESSID'] は常に NULL/空です。ページの上部に同じコードが使用されています。他のコンテンツはありません。

この問題は本当に頭痛の種でした。どのサーバー構成またはエラーが原因でしょうか? PHPSESSID cookie が空なのはなぜですか。これは、各リクエストで session_id() がリセットされることに関係していると思いますか?

みんな助けてください!

編集: ローカルのリモート サーバー上に単純な 3 行のテスト ファイルを作成しました。私のコードとは関係ありません。$_COOKIE['PHPSESSID'] はまだ空で、更新のたびに新しい session_id() がライブ ホストで発生します。

ERROR_REPORTING SET TO ALL ライブホストでこれを取得します:

Notice: Undefined index: PHPSESSID in /home/vivaplug/public_html/dev/wp-content/plugins/test.php on line 5

Google Chrome ヘッダー

ローカルホスト

Request URL:http://localhost/wp-content/plugins/test.php
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:no-cache
Connection:keep-alive
Cookie:PHPSESSID=68b7m4arpsacks4aetgmd3rs93
Host:localhost
Pragma:no-cache
User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
Response Headersview source
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Connection:Keep-Alive
Content-Type:text/html
Date:Tue, 05 Nov 2013 07:10:51 GMT
Expires:Thu, 19 Nov 1981 08:52:00 GMT
Keep-Alive:timeout=5, max=100
Pragma:no-cache
Server:Apache/2.4.4 (Win32) PHP/5.4.16
Transfer-Encoding:chunked
X-Powered-By:PHP/5.4.16

サーバーを削除

Request URL:http://vivaplugins.com/dev/wp-content/plugins/test.php
Request Method:GET
Status Code:200 OK
Request Headersview source
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8
Accept-Encoding:gzip,deflate,sdch
Accept-Language:en-US,en;q=0.8
Cache-Control:max-age=0
Connection:keep-alive
Host:vivaplugins.com
User-Agent:Mozilla/5.0 (Windows NT 6.1) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/30.0.1599.101 Safari/537.36
Response Headersview source
Age:0
Cache-Control:no-store, no-cache, must-revalidate, post-check=0, pre-check=0
Content-Encoding:gzip
Content-Type:text/html
Date:Tue, 05 Nov 2013 07:07:49 GMT
Pragma:no-cache
Server:Advanced Hosting by http://www.unixy.net/varnish
Transfer-Encoding:chunked
Vary:Accept-Encoding
Via:1.1 varnish
X-Cache:HIT
X-Cache-Hits:2
X-Cacheable:YES
X-Powered-By:PHP/5.4.20
X-Varnish:1984840969 1984839805
4

1 に答える 1

0

php.ini ファイルの session.use_cookies を確認してください。1 に設定する必要があります。

于 2013-11-05T07:27:48.920 に答える