Volevo chiedere una cosa: ma una volta aperta una sessione questa non scade più fin quando non faccio "session_destroy()"?
VVoVe:
![]()
fatemi sapere
Volevo chiedere una cosa: ma una volta aperta una sessione questa non scade più fin quando non faccio "session_destroy()"?
VVoVe:
![]()
fatemi sapere
Le sessioni ove non specificato diversamente scadono dopo 20 minuti di mancata trasmissione di dati tra client e server, o quanto chiudi la finestra del browser[supersaibal]Originariamente inviato da Insaponata
Volevo chiedere una cosa: ma una volta aperta una sessione questa non scade più fin quando non faccio "session_destroy()"?
VVoVe:
![]()
fatemi sapere [/supersaibal]
![]()
"La teoria è quando si sa tutto e niente funziona. La pratica è quando
tutto funziona e nessuno sa il perché. In questo caso, abbiamo messo
insieme la teoria e la pratica: non c'è niente che funziona... e nessuno sa
il perché!" (Albert Einstein)
come faccio a specificare diversamente? mica devo cambiare le impostazioni del server? e se si, non c'è un modo per farlo da codice?
grazie
le variabili per sessioni sono del tipo php_ini_all e quindi dovresti poterle impostare nei tuoi script. Qui hai l'elenco delle opzioni. Quelle di sessione iniziano per session.*[supersaibal]Originariamente inviato da Insaponata
come faccio a specificare diversamente? mica devo cambiare le impostazioni del server? e se si, non c'è un modo per farlo da codice?
grazie [/supersaibal]
http://it.php.net/manual/it/function.ini-set.php
![]()
Il silenzio è spesso la cosa migliore. Pensa ... è gratis.
Ciao,[supersaibal]Originariamente inviato da Insaponata
Volevo chiedere una cosa: ma una volta aperta una sessione questa non scade più fin quando non faccio "session_destroy()"?
VVoVe:
![]()
fatemi sapere [/supersaibal]
cercando nel forum con parole chiave "scadenza sessioni" ho trovato.....
http://forum.html.it/forum/showthrea...denza+sessioni
per favore NIENTE PVT TECNICI da sconosciuti
Non è esatto.[supersaibal]Originariamente inviato da Inoki
Le sessioni ove non specificato diversamente scadono dopo 20 minuti di mancata trasmissione di dati tra client e server, o quanto chiudi la finestra del browser
[/supersaibal]
La sessione si basa su un meccanismo, che normalmente utilizza i cookie, e che è fondato essenzialmente su due componenti: quella del client (il browser) e quella del server. Ciò significa che la sessione rimane aperta fino a quando sia il browser che il server sono in grado di utilizzarla.
Il browser è in grado di utilizzarla fino a quando è in grado di rispedire al server il cookie relativo: siccome, per default, il cookie di sessione ha validità 0, quando il browser viene chiuso la sessione sparisce. Questo meccanismo consente anche all'utente di tenere aperte due (o +) sessioni distinte con due distinte finestre del browser.
E' tuttavia possibile fare in modo che il cookie di sessione abbia una durata prestabilita nel tempo: questa possibilità è gestita dal valore session.cookie_lifetime di php.ini, e permette di stabilire la durata in secondi della sessione. Il suo valore di default è, appunto, 0. Se viene impostato un valore diverso il cookie verrà scritto dal browser sul filesystem e questo farà sì che ogni finestra aperta del browser veda la stessa sessione.
E' anche possibile usare un sistema alternativo ai cookie per mantenere viva una sessione, cioè l'invio del session id attraverso gli URL. In questo caso spariscono tutti i discorsi sui cookie e nascono problematiche diverse.
Dal punto di vista del server bisogna considerare il valore session.gc_maxlifetime, che indica la durata di una sessione in secondi rispetto all'ultimo accesso o modifica. Il valore di default è 1440, cioè 24 minuti. Questo però non significa che dopo questo tempo la sessione diventi automaticamente non più valida: c'è infatti da considerare un altro fattore, quello del garbage collector.
Il garbage collector è una routine di php che, in occasione di ogni session_start, può essere chiamata ad eliminare le sessioni scadute. La probabilità che ciò avvenga è determinata da altri due valori di php.ini: session.gc_probability e session.gc_divisor. I loro valori di default sono rispettivamente 1 e 100, il che significa che la probabilità che il garbage collector venga scatenato sono dell'1% ad ogni inizializzazione di sessione. Quindi non è affatto sicuro che la sessione vada persa dopo 24 minuti, o il tempo prestabilito.
Tutti questi valori di php.ini possono essere modificati anche da script, con la funzione ini_set. Ad esempio
ini_set("session.gc_maxlifetime", 1800)
imposterebbe a 30 minuti la "scadenza" del file di sessione.
Tuttavia non sono affatto certo di quali effetti possano realmente avere tali istruzioni da script, in quanto mi pare che un'impostazione fatta con ini_set rimanga valida solo all'interno dello script che l'ha eseguita, mentre qui abbiamo impostazioni che hanno il loro effetto su un ciclo di vita più ampio.