Я установил 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) в /var/www/project/vendor/symfony/symfony/src/Symfony/Component/HttpFoundation/Session/Storage/NativeSessionStorage.php в строке 147
Я попытался настроить 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
ОБНОВИТЬ
Я копался и пробовал разные конфиги. Если я запускаю Symfony, используя apache / php5.5.17, настроенный со следующими параметрами сеанса, это работает:
session.handler_name: memcached
session.save_path = "127..0.0.1:11211"
Я также попробовал этот конфиг с nginx / hhvm, и я все еще получаю ту же ошибку.
Это связано с тем, что HHVM не имеет встроенного обработчика сессии memcache [d]. Он поставляется только с Redis и файловыми.
Вы можете использовать один из этих бэкэндов или реализовать свой собственный, используя SessionHandlerInterface а также session_set_save_handler
Других решений пока нет …