0

何か奇妙なことが起こっています。ローカル マシンで Web アプリケーションをテストしていますが、問題なく動作します。セッションは完璧に処理されています。

最近、アプリケーションを本番環境に昇格させたとき、いくつかのセッション変数がページ間で保存されないことを除いて、すべてがうまく機能しました。

アプリケーションに追加した新しく作成されたすべてのセッション変数がページ間で保存されていないようで、変更が行われる前にすでに存在していたすべての変数がページ間で保存されています。

php.iniおそらく、または何らかのセキュリティ設定と関係があるのではないかと考えていましたか?これをトラブルシューティングするのが難しいのは、一部のセッションがページ間で失われているわけではありません。

最初のページのナビゲーションには、必要に応じてすべての SESSION 変数 (10 個のセッション変数) が含まれます。最初のページで作成および保存されたすべての新しい変数は、最初のページ以外のページでは null または空になり、SESSION 変数の数は 9 に減少します。

この問題の原因と、この問題のトラブルシューティング方法についてアドバイスをいただければ幸いです。

注:最後の 4 つの変数は新しく作成されたもので、他のすべての変数は新しい変更の前に存在していました。

ページ ナビゲーション 1:

echo 'ID: ' . session_id() . ' <br/><br/>';
        echo 'SAVE PATH: ' . session_save_path() . ' <br/><br/>';
        var_dump($_SESSION);

出力

ID: 8rd3paua61caaqd09ahoc0km42

SAVE PATH: D:\php5\session

array(10) { ["termstamp"]=> int(1383577150) ["timestamp"]=> int(1383577150) ["tm"]=> int(1383577150) ["userid"]=> string(6) "153355" ["authenticated"]=> bool(true) ["auth"]=> bool(true) ["joinMeta"]=> string(0) "" ["selectMeta"]=> string(0) "" ["search_queryyy"]=> array(12) { [0]=> string(27) "sec.lastname LIKE '%smith%'" [1]=> string(0) "" [2]=> string(0) "" [3]=> string(0) "" [4]=> string(0) "" [5]=> string(0) "" [6]=> string(0) "" [7]=> string(43) "sec.has_status != 99 && sec.has_status != 6" [8]=> string(0) "" [9]=> string(0) "" [10]=> string(0) "" [11]=> string(0) "" } ["testtttttt"]=> string(17) "SOMETHING INTO IT" }

ページ ナビゲーション 2 以上:

echo 'ID: ' . session_id() . ' <br/><br/>';
        echo 'SAVE PATH: ' . session_save_path() . ' <br/><br/>';
        var_dump($_SESSION); 

出力:

ID: 8rd3paua61caaqd09ahoc0km42

SAVE PATH: D:\php5\session

array(10) { ["termstamp"]=> int(1383577150) ["timestamp"]=> int(1383577150) ["tm"]=> int(1383577150) ["userid"]=> string(6) "153355" ["authenticated"]=> bool(true) ["auth"]=> bool(true) ["joinMeta"]=> string(0) "" ["selectMeta"]=> string(0) "" ["search_queryyy"]=> NULL ["testtttttt"]=> string(17) "SOMETHING INTO IT" } 

前もって感謝します!

4

2 に答える 2

0

セッション変数が 1 つのページで機能し、他のページでは機能していない場合、(ほとんどの場合)それらの他のページにsession_start()がないことを意味します。

于 2013-11-04T14:15:24.603 に答える