Hi, I dont know if my sessions are too big. Is there a way to see the size of a session. Thanks, Rahul
$size_of_session_estimate = strlen( serialize( $_SESSION ) );
Now, this is just an estimate, as the serialize handler is not used to serialize sessions, but it also won't be too far off.
That being said, unless you're storing a silly amount of data in the session, you probably don't need to worry about this.
If you are using Apache, take a look into your APACHE_ROOT/tmp
folder and look for files named sess_***********
.
Otherwise take the script from here and call it using array_size($_SESSION)
. This might differ slightly from the exact value (depending on compression/optimizations done by your PHP module).
This:
echo strlen(session_encode());
will give you the amount of disk space used by $_SESSION (assuming *session.save_handler* is the default value files), since *session_encode()* returns a string identical to the string stored in the session file.
It will also give a better indication of the amount of memory used, since *session_encode()* adds less metadata than serialize().
On a default Apache setup, you can see the session data as stored on disk with:
session_write_close();
echo file_get_contents(sys_get_temp_dir() . 'sess_' . session_id());