0

Zend_Auth セッションでタイムアウトを設定する際に問題があります。これは私のコードです:

$authSession = new Zend_Session_Namespace('Zend_Auth');
$authSession->setExpirationSeconds(60*60*24*1);

このコードは 1 日後にセッションを期限切れにするはずですが、実際には約 30 分後にセッションが期限切れになります。誰が何が悪いのか知っていますか? ありがとうございました。

4

1 に答える 1

6

セッション データが「ガベージ」として表示されるまでの秒数を指定するデフォルトのsession.gc_maxlifetime値は 24 分です。php.ini

呼び出しZend_Session_Namespace::setExpirationSeconds()は Zend Framework の内部的なものであり、セッション Cookie 自体やサーバー上のセッション データには影響しません。

session.gc_maxlifetime必要な前に PHP がデータを削除しないように、それに応じて値を調整してください。これを直接設定するか、ブートストラップのどこかでphp.ini使用するini_setか、ZFapplication.iniファイルから次のようなものを使用できますresources.session.gc_maxlifetime = 864000

以下も参照してください: Zend_Session::rememberMe を使用した持続的ログイン
のパラグラフ 2 PHP で持続的セッションを作成するにはどうすればよいですか? 非アクティブ後の Zend Framework 自動ログアウト のパラグラフ 4

于 2012-06-03T19:58:45.287 に答える