2009-09-06 12 views

risposta

16
$size_of_session_estimate = strlen(serialize($_SESSION)); 

Ora, questa è solo una stima, come il gestore di serializzare è non utilizzato per serializzare le sessioni, ma anche non sarà troppo lontano.

Detto questo, a meno che non stiate memorizzando una quantità sciocca di dati nella sessione, probabilmente non dovete preoccuparvi di questo.

+0

+1 esatte, * e * molto veloce. – karim79

+0

Sono curioso, ho pensato che il limite di dimensioni della sessione fosse basato esclusivamente sulla tua memoria, ci sono altri fattori? Chiedo perché immagazzino una quantità folle di dati nelle sessioni utente – JasonDavis

+0

Suppongo che funzioni perché strlen fornisce il numero di caratteri. E ogni personaggio è 1kb .. correggimi se sbaglio. – Rahul

8

Se si utilizza Apache, dare un'occhiata alla cartella APACHE_ROOT/tmp e cercare i file denominati sess_***********.

Altrimenti prendere lo script da here e chiamarlo utilizzando array_size($_SESSION). Questo potrebbe differire leggermente dal valore esatto (a seconda delle compressioni/ottimizzazioni fatte dal modulo PHP).

+0

Ricorda che alcune configurazioni possono memorizzare sessioni in posti diversi da/tmp. Avrai bisogno di esaminare la tua configurazione di PHP per essere sicuro. – Charles

+2

paste-it.net non è in linea, hai un link alternativo al tuo script? – rubo77

4

questo:

echo strlen(session_encode()); 

vi darà la quantità di spazio su disco utilizzato da $ _SESSION (supponendo session.save_handler è il valore predefinito file), dal momento che session_encode() restituisce una stringa identico alla stringa memorizzata nel file di sessione.

Si darà anche una migliore indicazione della quantità di memoria utilizzata, poiché session_encode() aggiunge meno metadati di serialize().

In una configurazione di default di Apache, è possibile visualizzare i dati di sessione, memorizzato su disco con:

session_write_close(); 
echo file_get_contents(sys_get_temp_dir() . 'sess_' . session_id()); 
+1

"Dovrebbe essere la risposta accettata" –

Problemi correlati