Victor Bocharsky Victor Bocharsky - 1 month ago 18
PHP Question

How can I unserialize Symfony session from the file?

Symfony store session in the

app/cache/dev/sessions/sess_{session_id}
file in dev env. The file's content is something like:

_sf2_attributes|a:0:{}_sf2_flashes|a:0:{}_sf2_meta|a:3:{s:1:"u";i:1396424236;s:1:"c";i:1396360957;s:1:"l";s:1:"0";}bbb|i:222;IsAuthorized|b:1;


When I try to unserialize it with
unserialize()
function - I get
FALSE
.

How can I unserilize this?

Answer

You can just use standard PHP session mechanism. You need to set up the directory where your sessions is stored (app/cache/dev/sessions). And then calling standard function session_start() will fill the $_SESSION variable with all unserialized data from appropriate file.

For example you can use this code:

ini_set('session.save_handler', 'files');
ini_set('session.save_path', 'path/to/your/site/folder/app/cache/dev/sessions');
session_start();

The way described above can be used when you need to work with sessions behind Symfony framework (as OP needs). To use Symfony's session mechanism you should work with Session object that will provide you all the needed information:

use Symfony\Component\HttpFoundation\Session\Session;

$session = new Session();
$session->start();

$session->all(); // will return unserialized array of parameters