ホームページ > バックエンド開発 > PHPチュートリアル > セッションのガベージ コレクション メカニズムに関連する問題

セッションのガベージ コレクション メカニズムに関連する問題

WBOY
リリース: 2016-06-13 13:36:43
オリジナル
1194 人が閲覧しました

セッションのガベージコレクション機構について!

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

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート