session.gc_maxlifetime benim için çalışmıyor

2 Cevap

i 3 min sınırını oturum zaman aşımı ayarlamak istiyorsanız,

i sayfasında bu kullanmış

ini_set ("session.gc_maxlifetime", "50"); not working

Bunun için çözüm

if (isset($_SESSION['LAST_ACTIVITY']) && (time() - $_SESSION['LAST_ACTIVITY'] > 1800)) { // last request was more than 30 minates ago session_destroy(); // destroy session data in storage session_unset(); // unset $_SESSION variable for the runtime } $_SESSION['LAST_ACTIVITY'] = time(); // update last activity time stamp

2 Cevap

Oturum sürece dosya sabitdisk üzerinde bırakılır olarak yaşayacaktır. Onlar bir çöp toplayıcısı tarafından temizlenir. Çöp toplayıcı (bu "her yüz" sayfa yüklendiğinde sadece bir ortalama, oldukça rastgele) sunucu üzerinde yaklaşık her yüz sayfa yükler çalıştırılır.

Ayrıca, oturumun yaşı inactive yaş değil, toplam yaştır. Zamanlayıcı bu oturum için kullanıcı bir isteği yok her zaman sıfırlanır.

session.gc_maxlifetime value is seconds. So you would need to set it to 180 saniye için birim 3 dakika ifade etmek.

Ama bunun yanı sıra, session.gc_maxlifetime (bir açıklama için this post bakınız) güvenilir değildir. Sen daha iyi oturum tam 3 dakika sonra sona ermiş olması, kendi üzerinde uygulamak gerekir.