4

php.ini ファイルに次の設定があるとします (もちろん、これは「通常の」設定ではありません)。

session.gc_maxlifetime = 60
session.gc_probability = 1
session.gc_divisor = 1

これは、セッションの初期化ごとにガベージ コレクションが実行され、1 分以上経過したすべてのセッションがクリーンアップされることを意味します。

サーバーに接続しているユーザーが 1 人だけで、セッションを初期化するスクリプトを実行しているとします。70 秒 (またはとにかく 60 秒以上) 後に再度実行すると、自分のセッションは削除されますか?

つまり、ガベージ コレクションはスクリプトの実行前と実行後のどちらで行われるのでしょうか。

4

2 に答える 2

0

ビルトイン セッション GC は、セッションの初期化中に ( gc_divisor を参照)、つまりsession_start()関数によって開始されます。session.autostartが true の場合session_start()、コードの最初の行の前に実行されます。

于 2013-04-11T23:49:20.870 に答える