私はこのページをリロードした後、何時でも何もしないページにいるときにこの問題を解決しました。$_SESSION
はクリアされています。コードをチェックしたところ、unset()
関数やその他の変数がありません。$_SESSION
変数をクリアできました。 何が起こっているのですか?なぜPHPセッションがページリロードで削除されるのですか?
編集:ブラウザが閉じられるまでセッションをライブにしたい場合、どうすればいいですか?セッションが期限切れであるかどうかをgc
で確認してもわかりませんが、session_start
を呼び出す前にセッションデータを変更することはできませんので、session_start
を呼び出した後でセッションデータを変更すると、
私はsession.cookie_lifetime
をデフォルトで0に設定しました。session.gc_maxlifetime
,session.gc_divisor
、session.gc_probability
もデフォルト値に設定されています。
pastebinコード – yoda
* session.gc \ _maxlifetime *とはどのような価値がありますか?* [PHPのセッション期限切れモデルの仕組みに関する私の投稿](http://stackoverflow.com/questions/520237/how-do) -i-expire-a-php-session-after-30-minutes/1270960#1270960)? – Gumbo
@Gumbo、* session.gc_maxlifetime *はデフォルト1440に設定されています。私は* session.gc_probability *と* session.gc_divisor *をデフォルト値に設定しました。 – Rihards