Sono in perdita qui. Ho un gruppo specifico di utenti al piano superiore le cui sessioni sembrano scadere in modo completamente casuale. Non è solo quando lasciano il sito seduto per un po ', ma può scadere mentre navigano. Per me e la maggior parte dei nostri utenti tutto funziona perfettamente. Non è un problema di browser, abbiamo persone in FF e tutte le versioni di IE che funzionano entrambe correttamente, e le persone in FF e IE che non funzionano.Sessioni PHP che scadono inaspettatamente
Il mio gc_maxlifetime
è a 43200
e la garbage collection è un pazzo basso 1/1000
(non che ciò dovrebbe importare). È possibile che ci sia qualcos'altro in esecuzione sul server che cancella in modo casuale alcune delle nostre sessioni? Cosa dovrei controllare? Ciò non spiegherebbe ancora perché solo questo specifico gruppo sembra essere interessato.
Ho un paio di impostazioni di sessione che sono diverse da quella di default:
session.gc_maxlifetime = 43200
session.gc_divisor = 1000
session.save_path = /var/lib/php/session
session.use_only_cookies = Off
session.bug_compat_42 = Off
I primi tre non sono preoccupato, ma potrebbe gli ultimi due causare questo comportamento? In realtà non invio mai cookie tramite l'URL, quindi non ho buone ragioni per escludere use_only_cookies. Non ho alcuna garanzia che i disadattati che hanno fatto questa app prima di arrivare qui non abbiano sfruttato la cosa bug_compat_42
per impostare le variabili di sessione, ma, ancora una volta, mi aspetto che un problema sia meno casuale.
Edit:
Su ulteriori indagini, ho trovato che la sessione non viene distrutto a tutti, ma l'utente finale è ottenere un nuovo ID di sessione. La vecchia sessione esiste ancora intatta sul server, ma una nuova viene avviata casualmente mentre sta navigando.
Una delle due cose sta accadendo: il file di sessione sul server viene eliminato o il cookie di sessione è in scadenza. Cercherei di isolare il caso che uno o l'altro accada e poi di lavorare da lì. –
Ho determinato che non è la sessione in corso di eliminazione. Come posso verificare se il cookie sta scadendo? –