PHP sonsuz oturumları

3 Cevap php

O asla sona PHP oturumları yapılandırmak mümkün mü? Şu anda varsayılan 24 dakika php.ini içinde var - Ben bir kaç hafta ya da bir şey için bu kadar vurmak olabilir ama ben sonsuz ömür boyu onları ayarlayabilirsiniz merak ediyordum?

Ben Stackoverflow adlı benzer bir etki elde etmek istiyorum: Ben buradan oturum zorunda kalmazsınız. Bu bir-dolan asla oturumu veya başka yollarla birlikte SO elde edilir?

Ayrıca, ikincil bir soru olarak: Nasıl süresi oturum dosyaları temizlenmiş alabilirim? Birisi bir oturum oluşturur ve asla dönerse, hangi süreç onların süresi dolan dosyayı temizliyor?

3 Cevap

Çok yakında sona erecek bir oturum, ve otomatik oturum açma belirteci içeren çok uzun ömürlü çerez: Normalde, ne sonsuz bir oturum olmak üzere iki şey görünür.

The Definitive Guide To Website Authentication : Bu bir StackOverflow Sorudaki oturumları ve günlük-in tepkilerin büyük bir dizi var

Oturumları temizlenir zaman hakkında soru ile ilgili olarak, php.ini settings oturumları için çöp toplama tetiklendiği zaman kontrol için birkaç vardır.

PHP sağlar ve kendi oturum veri depolama işleyicileri oluşturmak için teşvik eder hem yana, bu sorunun tek doğru cevabı vardır.

İkinci soruya cevap

Oturum dosya temizleme Aşağıdaki 3 php.ini ayarları tarafından kontrol edilir:

  • session.gc_probability (varsayılan değer 1)
  • session.gc_divisor (varsayılan değer 100)
  • session.gc_maxlifetime (oturum çöp olarak kabul edilir sonra yaşı belirtilen)

İlk 2 ayarları session start başlanmalıdır çöp toplama işleminin olasılığını belirtmek (önce ya da komut yürütme, bir şeyler kurdunuz nasıl bağlı olarak çok başında)

Varsayılan konfigürasyonda bir% 1 olasılık bu olur o zaman var. Öyle ise, o azami_ömür daha eski dosyalar temizlenir.

İlk soruya gelince - neden bu veritabanı içinde saklar seansları (eğer varsa), bir özel oturum işleyici yazmak değil. Bu şekilde görmek ve doğru veritabanı içinde gelen oturumları kontrol edebilirsiniz. Handy :)