2011-02-17 16 views
3

セッションが期限切れになったときにセッションデータをデータベースまたはファイルに救済できるかどうかは疑問です。たとえば、セッションにオブジェクトがある場合、セッションが終了するとデストラクタが呼び出されますか?セッションの期限切れでセッション変数をデータベースに保存

基本的に、PHPは期限切れのセッションをどのように処理するのかについてです。

ありがとうございました!

答えて

2

session_set_save_handler関数を使用して、セッションが破棄されるたびに呼び出されるコールバックを定義できるようです。

注釈として、セッション中にセッションを保存するのではなく、セッションがタイムアウトしたときにデータを保存するのが良い設計であるかどうかは疑問です。セッションのための最大の寿命を変更するには

+0

をしかし、唯一の現在のリクエストで使用中のセッションに適用されます。それはガベージコレクターが核兵器を奪う古いセッションのために呼ばれることはありません。 –

0

はこれを試してみてください。

ini_set("session.gc_maxlifetime", "18000"); 

これは5時間に寿命を設定します。デフォルトの有効期間を変更するすべてのスクリプトでこれを使用する必要があります。

セッションの有効期間を取得するには、次の

echo ini_get("session.gc_maxlifetime"); 
関連する問題