symfony2会话持久性

时间:2014-09-10 12:56:58

标签: php symfony session

这已经困扰了我一个星期了。

我似乎无法通过页面重定向获得一个大的php数组来保持会话。

for ($i=1;$i<$data['weeks'];$i++) {
    $instances[] = array(
        'start' => $startTime + ((86400 * 7) * $i),
        'end'   => $startTime + ((86400 * 7) * $i) + $duration,
        'venueId' => $data['venueId']
    );
}

$request->getSession()->set('addClass-1-instances', $instances);

return new RedirectResponse ($this->generateUrl(
    'class_add', array(
        'clubId' => $this->club->clubId,
        'step' => 4,
        'classType' => 1
    )
));

当数组非常小(1-10个元素)时会起作用,但当它变大(1000 - 2000个元素)时会失败。

如果我在添加会话对象后将其转储出来,我可以看到它在会话属性集合中。

var_dump($request->getSession());

protected 'attributes' => &
    array (size=6)
        'addClass-1-instances' => 
            array (size=1560)
                0 => ...

但是一旦页面被重定向,会话似乎完全是空的。

object(Symfony\Component\HttpFoundation\Session\Attribute\AttributeBag)[487]
    private 'name' => string 'attributes' (length=10)
    private 'storageKey' => string '_sf2_attributes' (length=15)
    protected 'attributes' => &
        array (size=0)
            empty

我们将会话存储在数据库中,并且在其余的webapp中都可以正常工作。我已经阅读了所有地方,并看到人们谈论session.save-dir php选项,但我不认为这在使用数据库存储时无关紧要。

帮助!

不确定如何解决这个问题。会话ID在两个页面上保持不变,并且没有明确清除会话的代码。

不确定去哪里但不是这里!

0 个答案:

没有答案
相关问题