- 締切済み
セッションの有効期限
Linux7.2 + PHP4.2(DSO版)+ Apacheを使用しセッション管理を使用した認証機能を制作しています。 session.cache_expire = 180としているのに ログイン後20分くらいでセッションが切れる現象が生じています。 プログラム上では特別なことはしていません。 session_start(); session_cache_limiter('nocache'); を先頭に書いているだけです。 以下、php.iniのセッション関連の設定です。 どなた方この現象についてご存知でしたら教えて下さい。 宜しくお願いします。 session_auto session.save_handler = files session.save_path = /tmp session.use_cookies = 1 session.name = PHPSESSID session.auto_start = 0 session.cookie_lifetime = 0 session.cookie_path = / session.gc_probability = 1 session.gc_maxlifetime = 1440 session.referer_check = session.entropy_length = 0 session.entropy_file = ;session.entropy_length = 16 ;session.entropy_file = /dev/urandom session.cache_limiter = nocache session.cache_expire = 180 session.use_trans_sid = 0
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- maro
- ベストアンサー率47% (95/199)
キャッシュしないようにする、とかそういうことではないのでしょうか?
- maro
- ベストアンサー率47% (95/199)
セッションの有効期限を気にしてコードを書いたことがなかったので、まちがっているかもしれませんが・・・。 マニュアルに、 session.cache_expire integer session.cache_expireによりキャッシュされた セッションページの有効期間を分単位で指定します。 このオプションは、nocacheリミッタに関しては効果がありません。 デフォルトは、180です。 とあります。 session.cache_limiter = nocache としているために、 session.cache_expire = 180 が無効になっている、ということはないのでしょうか?
補足
回答有難う御座います。 session.cache_limiter = privateにしてみたところ、セッションはうまく続くようになったのですが、ローカルにキャッシュがのこってしまい、以前のログインした画面のままであったり、、、、となってしまいます。 認証系の動的なページではどうすればいいのでしょうか・・・
お礼
遅くなりましたが、最近わかったことをご報告します。session.use_cookies = 1 が有効になっている場合、 ession.cache_expire = 180の値よりも、 session.gc_maxlifetime = 10800の値が優先されるようです。 (PHP4.2) 有難う御座いました。