 |
Forum PHP Romania - Discutii despre PHP, MySQL, Javascript, AJAX, etc Comunitatea PHP Romania
|
| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
diaconuliviu
Data înscrierii: 19/Feb/2004
Mesaje: 15
|
| Trimis: Lun Mar 29, 2004 12:15 pm Titlul subiectului: Ajutor Tepm_Php |
|
|
am creat un director php_temp pe care l-am si indicat in calea temp...folosit ca temporar pentru php;
acolo apar sesiunile; problema e ca daca inkid explorerul ramine acel fisier..daca distrug sesiunea explicit, dispare..
cum fac ca si la inkiderea IE sa se distruga acel fisier? |
|
| Sus |
|
arond
Data înscrierii: 11/Mar/2004
Mesaje: 580
Locație: 127.0.0.1
|
| Trimis: Lun Mar 29, 2004 2:11 pm Titlul subiectului: |
|
|
Salut.
Treaba cu sesiunile sta in felul urmator:
1. La deschiderea unei sesiuni noi, se creeaza acel fisier temporar de care vorbesti.
2. Daca nu distrugi sesiunea in mod explicit, fisierul temporar este sters la un nou acces de pagina si cand fisierul este mai vechi decat session.gc_maxlifetime, iar stergerea se face cu probabilitatea session.gc_probability (respectiv nu neaparat toate fisierele temporare sunt sterse la prima rulare PHP dupa ce au expirat... din motive de performanta).
3. Serverul de web nu are cum sa aiba habar cand ai inchis tu fereastra browserului... deci nu ai cum sterge fisierul/distruge sesiunea cand inchizi fereastra de Internet Explorer decat cu niste manarii (Javascript => open popup => popup distruge in mod explicit sesiunea), dar nu vad chiar nici un motiv pentru care ti-ai dori asta.
Mai exista un aspect foarte important (citez):
Note: If you are using the default file-based session handler, your filesystem must keep track of access times (atime). Windows FAT does not so you will have to come up with another way to handle garbage collecting your session if you are stuck with a FAT filesystem or any other fs where atime tracking is not available.
Cu alte cuvinte, pe Windows cu FAT, acest mecanism de garbage collection a fisierelor temporare in care se stocheaza datele din sesiuni NU functioneaza (si trebuie sa inventezi tu altceva).
Daca intr-adevar ai nevoie sa rulezi PHP pe Windows/FAT in conditii de production, atunci va trebui sa studiezi urmatoarea functie si sa-ti creezi propriul mecanism de GC pentru sesiuni:
bool session_set_save_handler ( string open, string close, string read, string write, string destroy, string gc);
Numai bune. |
|
| Sus |
|
diaconuliviu
Data înscrierii: 19/Feb/2004
Mesaje: 15
|
| Trimis: Lun Mar 29, 2004 2:59 pm Titlul subiectului: |
|
|
arond a scris: ...dar nu vad chiar nici un motiv pentru care ti-ai dori asta.
.
pai, daca eu explicit deschid acle fisier..care e text pina la urma, vad userul si parola, ce-i drept, trecuta prin md5... dar o vad,... nu se poate folosi acea parola, chiar criptata?
si nu, nu-l pun la munca pe fat..local am xp cu ntfs.. iar de pus la munca ..pe linux..
cu acel temp, ce intrebam de fapt, daca schimb acel PHP_TEMP in directorul de temp al win.. se sterg la restartare?
ca aici nu se sterge niciunul din fisiere, deci probabilitatea fizica e 0%
Si, multumesc de raspuns |
|
| Sus |
|
arond
Data înscrierii: 11/Mar/2004
Mesaje: 580
Locație: 127.0.0.1
|
| Trimis: Lun Mar 29, 2004 3:57 pm Titlul subiectului: |
|
|
Faptul ca datele sesiunii se vad nu ar trebui sa te deranjeze, atata vreme cat directorul temporar nu e servit de catre serverul de web.
Cu alte cuvinte ai document root-ul /var/www/webserver si temporary directory /var/temp or whatever.
Nu se sterg la restartare, dar poti sa faci tu un batch cu care sa le stergi la restartare :).
Numa' bune. |
|
| Sus |
|
diaconuliviu
Data înscrierii: 19/Feb/2004
Mesaje: 15
|
| Trimis: Mar Mar 30, 2004 6:18 am Titlul subiectului: |
|
|
| Multumesc, @.. |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |
|