无法将symfony 2.1.2连接到memcache来存储会话

时间:2012-10-05 13:43:53

标签: session symfony memcached

我正在尝试使用sf2框架在memcache服务器中托管我的会话。 这是我的配置: 在config.yml

framework:
    ...
    session:
        handler_id: session.handler.mc
...
services:
    session.memcache:
        class: Memcache
        calls:
            - [addServer , [%session_memcache_host%, %session_memcache_port%]]
    session.handler.mc:
        class: Symfony\Component\HttpFoundation\Session\Storage\Handler\MemcacheSessionHandler
        arguments: [@session.memcache]

在参数中我设置了我的信息:

session_memcache_host: memcachesession.lan
session_memcache_port: 11211

在我的控制器中我有这个:

public function indexAction()
{
    $session = new Session();
    $session->start();
    var_dump($session->getId());
    $session->set('foo','bar');
    $session->save();
    var_dump(session_id());
    var_dump($_SESSION);
    return array('name' => 'test');
}

我仍然没有在memcache中进行会话......我无法弄明白为什么。 感谢任何帮助。

1 个答案:

答案 0 :(得分:1)

services:
session.memcache:
    class: Memcache
    calls:
        - [addServer , [%session_memcache_host%, %session_memcache_port%]]
session.handler.mc:
    class: Symfony\Component\HttpFoundation\Session\Storage\Handler\MemcacheSessionHandler
    arguments: [@session.memcache, {prefix: ""}]

这里的要点是设置一个空前缀...所以我有我的真实会话名称......我在其他应用程序中的名称。现在一切都好了