我已经安装了memcached并按照以下方式进行了测试:
nc -U /var/run/memcached/memcached.sock
stats
STAT pid 16360
STAT uptime 2246
STAT time 1412217254
STAT version 1.4.14 (Ubuntu)
STAT libevent 2.0.21-stable
STAT pointer_size 64
STAT rusage_user 0.032563
//and so on...
我遇到的问题是当symfony加载并调用session_start()时会抛出错误:
致命错误:无法初始化存储模块: 用户(路径:/var/run/memcached/memcached.sock)位于第147行的/var/www/project/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php
我尝试使用相同的错误配置session.save_path吨不同的方法只是路径不同:
session.save_path = "/var/run/memcached/memcached.sock"
session.save_path = "unix:/var/run/memcached/memcached.sock"
session.save_path = "unix:///var/run/memcached/memcached.sock"
session.save_path = /var/run/memcached/memcached.sock
session.save_path = unix:/var/run/memcached/memcached.sock
session.save_path = unix:///var/run/memcached/memcached.sock
有没有人知道为什么我无法开始会话?
版本信息:
Ubuntu: 14.04.1
NGINX: 1.4.6
HHVM-nightly: 3.4.0-dev+2014.10.01
memcached: 1.4.14
symfony: 2.5.5
更新 我一直在挖掘并尝试不同的配置。如果我使用配置了以下会话参数的apache / php5.5.17运行symfony,它可以工作:
session.handler_name: memcached
session.save_path = "127..0.0.1:11211"
我也尝试使用nginx / hhvm这个配置,但我仍然得到同样的错误。
答案 0 :(得分:4)
这是因为HHVM没有内置的memcache [d]会话处理程序。它只附带Redis和文件。
您可以使用其中一个后端,也可以使用SessionHandlerInterface和session_set_save_handler
实现自己的后端