從PHP手冊中,session.gc_probability和session.gc_divisor聲明gc將基於此概率發生。我明白了。PHP垃圾收集澄清
我不清楚的是這個概率是按照會話還是總體來說的。因此,如果我的概率是GC的1%(1/100),那麼這是否意味着如果一個會話不斷得到延長,每次有1%的變化,特定的會話將被清除?或者這是否意味着所有現有會議(包括新會議)中的1%會觸發GC來處理所有其他會議?
我很確定這是後者,我只是想確認一下。
這個問題的目的是在我們的網站上,我希望用戶有長期的會議(6個月)。如果所有會話的1%觸發GC,那麼這將有效地消除進行長期會話的目的,因爲GC最終會每隔一兩個小時發生一次。
非常有趣的問題! +1 –
相關http://stackoverflow.com/questions/3865303/debian-based-systems-session-killed-at-30-minutes-in-special-cron-how-to-overri –
對於閱讀此嘗試的其他人如上所述,使用6個月的會話文件可能會導致嚴重的性能問題(如下所述)。但是,您可以使用session_set_save_handler()編寫一個自定義會話處理程序,該處理程序將使用數據庫而不是FS,從而消除許多性能損失。 – Meep3D