2012-03-11 16 views
2

私はデータベースでセッションを維持して遊んでいて、これは初めてです。 ZFのメソッドでは、データベース内にIDを美しく作成しますが、生存時間を20秒に設定しても、セッションが削除されてもデータベースは表示されません。セッションはデータベースから自動的に削除されませんか?

データベースはそれ自体を削除する必要がありますか?それとも私がしなければならない設定ですか?ありがとうございました!

+0

データベースは、(それが「タイムアウト」またはどのようにそれを処理するの概念を持っていない)を自動的に削除しません。フレームワーク自体は2つの働きをするべきです:1)データベースエントリーがあっても期限切れのセッションを受け入れるべきではありません。*セッション情報をデータベースから定期的にパージするためのメカニズムを提供する必要があります。うまくいけばこれらはZFのドキュメントでカバーされています。 –

答えて

2

destroy()の方法がZend_Session_SaveHandler_dbTableのように見えますが、あなたのセッションを保存するのにZend_Session_SaveHandler_dbTableを使用していると思われるかもしれません。ここで

は、メソッドの定義である:

public function destroy($id) 
    { 
     $return = false; 

     if ($this->delete($this->_getPrimary($id, self::PRIMARY_TYPE_WHERECLAUSE))) { 
      $return = true; 
     } 

     return $return; 
    }