Zend Sessionsを使用してデータベースにセッションを保存しようとしていますが、何らかの理由でセッションが終了します。これを実行するコードが実行されているかどうか、またはそれが他の何かであるかどうかはわかりません。
ログインしてからしばらくすると、セッションIDが再生成されたように見えることに気づきました。
これは、私のhtaccessファイルに次の行を追加したにもかかわらずです。
php_value session.auto_start 0
最終的には、ログインするたびにログアウトします。
ブートストラップファイルのコードは次のとおりです
$config = array(
'name' => 'session',
'primary' => 'id',
'modifiedColumn' => 'modified',
'dataColumn' => 'data',
'lifetimeColumn' => 'lifetime'
);
$saveHandler = new Zend_Session_SaveHandler_DbTable($config);
Zend_Session::rememberMe($seconds = (60 * 60 * 24 * 30));
$saveHandler->setLifetime($seconds)->setOverrideLifetime(true);
Zend_Session::setSaveHandler($saveHandler);
//start your session!
Zend_Session::start();
ログイン時にZend_Authを除いて、他のセッション関連の関数を使用していません。
Infactrememberme
はSessionクラスのregenerateID関数を呼び出します。その結果、私は数分ごとに常にログアウトしています。