セッションのガベージコレクション機構について!
seession.gc_maxlifetime=1440;
seesion.gc_probability=1;
session.gc_divisor=1000;
上記についての私の理解は、1,000 人に 1 人のユーザーだけが使用できるということですセッションに移行しますが、確率が 1,000 分の 1
である場合、セッションはどのように進行するのでしょうか? ?納得のいく説明を求めてください。 。
-----解決策---------
引用説明:
PHP のセッション処理の原理は例外ではありませんが、具体的な実装方法は異なります。これは、PHP の動作メカニズムにより、セッション情報を定期的にスキャンしてセッション情報が無効かどうかを判断するバックグラウンド スレッドが存在しないためです。この解決策は、有効なリクエストが発生したときに、PHP が一定の確率に基づいて GC (ガベージ コレクター) を呼び出すかどうかを決定することです。 GC の仕事は、すべてのセッション情報をスキャンし、現在の時刻からセッションの最終変更時刻 (変更日) を減算し、それを構成パラメーター (構成オプション) session.gc_maxlifetime の値と比較することです。時間が gc_maxlifetime を超えました。セッションは削除されます。これは簡単に理解できます。リクエストごとに GC コードが呼び出されると、PHP の効率が耐えられないほど低下するからです。この確率は、設定パラメータ session.gc_probability/session.gc_divisor の値によって異なります (php.ini または ini_set() 関数を通じて変更できます)。デフォルトでは、session.gc_probability = 1、session.gc_divisor=100 です。これは、GC が開始される確率が 1% であることを意味します。
これら 3 つのパラメータ session.gc_maxlifetime/session.gc_probability/session.gc_divisor は、php.ini または ini_set() 関数を通じて変更できます。ただし、ini_set() 関数を使用する場合は、各ページの先頭で ini_set() を呼び出す必要があることに注意してください。
全文を読む: http://koda.iteye.com/blog/319605