3

$_SESSION[]変数を拡張する次のコードがあります。約 2 ~ 3 時間後に有効期限が切れます。

を変更して 22 時間まで延長しようとしましたsession.gc_maxlifetimeが、数時間経ってもまだセッションが失われています。

//start sessions
ini_set('session.gc_maxlifetime', 60*60*22); // 22h - one day

//Output just to make sure config was changed.
echo ini_get("session.gc_maxlifetime"); 

session_start();

セッション時間を延長するにはどうすればよいですか?

4

3 に答える 3

2

はい、可能性があります: session.cookie_lifetime デフォルトでは 0 で、ブラウザを閉じると終了することを意味します。

クライアントを閉じて再度開いた場合、session.gc_maxlifetime は問題ではありません。終了していないセッションにのみ適用されます。

または、session.gc_maxlifetime を小さくして、calles セッションを別の場所でより早く開始することもできます。多くの場合、フレームワークがこれを設定します。session start を繰り返し呼び出しても、セッションは変更されません。

于 2012-05-16T20:21:27.537 に答える
1

php.iniで変更してみてください!セッションの存続期間はファイルシステムのものであるため、スクリプトごとの設定には常に問題があります。

于 2012-05-16T20:26:04.153 に答える
0

これについては、マニュアル ページに注記があります。同じディレクトリを使用してセッション データを保存する別のスクリプトに maxlifetime が設定されていない場合は、代わりに短い値が使用されます。

于 2012-05-16T20:21:41.850 に答える