How can I unserialize Symfony session from the file?

…衆ロ難τιáo~ 提交于 2019-12-31 02:53:07

问题


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?


回答1:


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


来源:https://stackoverflow.com/questions/22805100/how-can-i-unserialize-symfony-session-from-the-file

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!