ZF2 - Session rememberMe + 2xajax =会话对象销毁失败

时间:2013-09-14 15:53:14

标签: php ajax session zend-framework2

我遇到了以下问题:

我使用ZF2,如果我点击主导航的链接子导航和内容加载通过AJAX(两个请求)

如果我使用    class AuthStorage扩展了Storage \ Session {

public function __construct($namespace = null, $member = null, $manager = null) {
    parent::__construct($namespace, $member, $manager);

    $this->session->getManager()->rememberMe(3600);
   }
}

我收到以下错误: 警告:session_regenerate_id():会话对象销毁在第260行的[...] \ vendor \ zendframework \ zendframework \ library \ Zend \ Session \ SessionManager.php中失败

这个警告 - 消息只出现在一个ajaxrequest中。从来没有在同一时间。但它并不总是在同一个请求中......

另一个奇怪的事情:完全相同的脚本正在我朋友的电脑上工作......

任何想法? : - (

1 个答案:

答案 0 :(得分:0)

创建您自己的会话管理器并将其作为第二个参数传递给Container。不需要删除旧会话以扩展当前。将默认删除旧会话设置为false。

<?php
namespace My\Session;

use Zend\Session\SessionManager;

class Manager extends SessionManager
{
public function regenerateId($deleteOldSession = false)
{
    session_regenerate_id((bool) $deleteOldSession);
    return $this;
}   
}