1.大多数软件都使用的方法
修改:php.ini:
session.save_handler = memcache
session.save_path = "tcp://127.0.0.1:11211"
2.使用symfony2这么操作
Symfony2,尝试了这一点,你会发现你的应用程序仍然使用文件系统存储的会话。
原因:symfony会默认使用它们自己默认的配置
3.正确解决方法
1.第一步是添加我们的parameters.yml memcache服务器设置:
session_host: 127.0.0.1
session_port: 11211
session_prefix: sess_
session_lifetime: 86400
2.接下来,我们需要配置我们的服务,使用这些设置,使我们能够告诉使用我们所需的处理程序(使用我的捆绑服务配置)的框架:
<?xml version="1.0" ?>
<container xmlns="symfony.com/schema/dic/services"
xmlns:xsi="w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="symfony.com/schema/dic/services symfony.com/schema/dic/service..">
<services>
<service id="session.memcache" class="\Memcache">
<call method="addServer">
<argument>%session_host%</argument>
<argument>%session_port%</argument>
</call>
</service>
<service id="session.handler.memcache" class="\Symfony\Component\HttpFoundation\Session\Storage\Handler\MemcacheSessionHandler">
<argument type="service" id="session.memcache">
<argument type="collection">
<argument>%session_prefix%</argument>
<argument>%session_lifetime%</argument>
</argument>
</service>
</services>
</container>
3.现在所有剩下要做的就是告诉框架在你的应用程序的配置使用我们的新的处理程序(程序/配置/ config_prod。YML):
framework:
session:
handler_id: session.handler.memcache