SOFTELメモ Developer's blog

会社概要 ブログ 調査依頼 社員募集 ...

phpのセッションの時間設定(長くしたい、うまく反映されないなど)

例えば、
めんどくさいのでセッションは6時間ぐらい維持したい

php_value session.gc_maxlifetime 21600
(60秒*60分*6時間=21600)

あれ?ログインが30分ぐらいで切れた。

なんてことがよくあります。

言ってしまえば、ただの勘違いですが、
セッションを利用する複数のスクリプトが動作する環境では、session.save_path を設定すること。

php_value session.save_path /xxxx/yyyy

phpのセッションの設定は、まずこれをよく読むこと。
http://jp.php.net/manual/ja/ref.session.php

注意: 異なる値を session.gc_maxlifetime に指定している別々のスクリプトがセッションデータの保存場所を共有している場合、 一番小さい設定値に達した時点でデータが消去されます。このような場合には、お互いに session.save_path を使用します。

デフォルトの1440秒の環境と、カスタマイズして時間を変えた環境の複数が動作しているとき、勘違いしていると、期待した動作をしません。

関連するメモ

コメント