gpt4 book ai didi

php - 我如何从文件中反序列化 Symfony session ?

转载 作者:行者123 更新时间:2023-12-05 07:59:07 31 4
gpt4 key购买 nike

Symfony 将 session 存储在开发环境中的 app/cache/dev/sessions/sess_{session_id} 文件中。该文件的内容类似于:

_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;

当我尝试使用 unserialize() 函数对其进行反序列化时 - 我得到了 FALSE

我如何反序列化它?

最佳答案

您可以只使用标准的 PHP session 机制。您需要设置存储 session 的目录 (app/cache/dev/sessions)。然后调用标准函数 session_start() 将使用适当文件中的所有未序列化数据填充 $_SESSION 变量。

例如,您可以使用此代码:

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

当您需要在 Symfony 框架后面使用 session 时(根据 OP 的需要),可以使用上述方法。要使用 Symfony 的 session 机制,您应该使用 Session 对象,它将为您提供所有需要的信息:

use Symfony\Component\HttpFoundation\Session\Session;

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

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

关于php - 我如何从文件中反序列化 Symfony session ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22805100/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com