2011-02-03 16 views
0

私はこのページをリロードした後、何時でも何もしないページにいるときにこの問題を解決しました。$_SESSIONはクリアされています。コードをチェックしたところ、unset()関数やその他の変数がありません。$_SESSION変数をクリアできました。 何が起こっているのですか?なぜPHPセッションがページリロードで削除されるのですか?

編集:ブラウザが閉じられるまでセッションをライブにしたい場合、どうすればいいですか?セッションが期限切れであるかどうかをgcで確認してもわかりませんが、session_startを呼び出す前にセッションデータを変更することはできませんので、session_startを呼び出した後でセッションデータを変更すると、

私はsession.cookie_lifetimeをデフォルトで0に設定しました。session.gc_maxlifetime,session.gc_divisorsession.gc_probabilityもデフォルト値に設定されています。

+0

pastebinコード – yoda

+0

* session.gc \ _maxlifetime *とはどのような価値がありますか?* [PHPのセッション期限切れモデルの仕組みに関する私の投稿](http://stackoverflow.com/questions/520237/how-do) -i-expire-a-php-session-after-30-minutes/1270960#1270960)? – Gumbo

+0

@Gumbo、* session.gc_maxlifetime *はデフォルト1440に設定されています。私は* session.gc_probability *と* session.gc_divisor *をデフォルト値に設定しました。 – Rihards

答えて

2

session_start()はすべてのページの冒頭に配置しましたか?

+0

はい、いつもと変わらずに。 session_destory()は使用されません。 – Rihards

+0

session_start()の問題は非常に一般的です。セッションのタイムアウトについてのドキュメントを探しています。 – raultm

+1

http://prajapatinilesh.wordpress.com/2009/01/14/manually-set-php-session-timeout-php-session/あなたはそれをチェックアウトできますか? – raultm

関連する問題