Custom PHP session timeout za virtual host
 
Vini 6. jun 2008 19:19:59 Pridružen od:
1. sep 2006
6612 objav
5234 611 56
#1

Spet sem naletel na zanimiv problemcek, ga uspesno resil, pa naj ga delim se z vami.



Zadeva z nastavitvijo posebnega timeouta za PHP session je naceloma enostavna, to lahko naredimo tako, da znotraj VirtualHost v httpd.conf (ali v .htaccess) vpisemo naslednje:


php_value session.gc_maxlifetime <timeout_in_seconds>

S tem smo sporocili PHPjevemu garbage collectorju, naj brise vse session datoteke, ki so starejse od <timeout_in_seconds> sekund. Ker pa PHP shranjuje vse session datoteke, ne glede na virtual host v isti direktorij in nima pojma, katera session datoteka pripada kateremu virtual hostu, izbrise pac vse, ki zadoscajo temu pogoju, kar povzorci, da ta nastavitev vpliva na session datoteke celega serverja, torej tudi virtual hostov, kjer mogoce zelimo daljsi timeout.



Resitev je seveda enostavna, ampak mogoce ne pade na pamet ravno ob prvem razmisljanju. Seveda, za virtual host, za katerega nastavljamo custom timeout, nastavimo se custom direktorij, kamor naj shranjuje session datoteke, takole:


php_value session.save_path /pot/do/direktorija/za/session/datoteke
php_value session.gc_maxlifetime <timeout_in_seconds>

Seveda moramo paziti, da v ta direktorij shranjuje session datoteke le zeljeni virtual host.


všeč(0) ni všeč(0) spam(0)
 
kopriva 6. jun 2008 22:52:38 Pridružen od:
6. nov 2007
1376 objav
2027 207 28
#2

tnx for shearing! =)


všeč(0) ni všeč(0) spam(0)
“Everything that happens, happens as it should, and if you observe carefully, you will find this to be so.” ― Marcus Aurelius
 
sce 6. jun 2008 23:02:58 Pridružen od:
27. maj 2007
995 objav
313 60 26
#3

Uporabno... sem sprobal in glej ga hudiča... It works :)


všeč(0) ni všeč(0) spam(0)
It's unknown, but I could be a cactus with two cats. I could also be an IT specialist. Who knows...
 
 

🔒 Za odgovor na to temo se moraš prijaviti.

Prijavi se