我正在尝试使用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中进行会话......我无法弄明白为什么。 感谢任何帮助。
答案 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: ""}]
这里的要点是设置一个空前缀...所以我有我的真实会话名称......我在其他应用程序中的名称。现在一切都好了