Zend Framework обработчик сохранения сессии memcache и использование существующей сессии
У меня есть устаревшее PHP-приложение в главном домене, которое использует memcache в качестве бэкэнда для наших сессий. Это прекрасно работает. Я пытаюсь добавить новое приложение Zend Framework на поддомен, который может использовать те же сеансы, которые создаются в основном домене.
У меня есть сеанс и обработчик сохранения, настроенные в моем application.ini:
resources.session.saveHandler.class = "App_Session_SaveHandler_Cache"
resources.session.saveHandler.options.type = "Libmemcached"
resources.session.saveHandler.options.maxlifetime = 300
resources.session.saveHandler.options.front.lifetime = 300
resources.session.saveHandler.options.front.automatic_serialization = true
resources.session.saveHandler.options.back.servers.0.host = "127.0.0.1"
resources.session.saveHandler.options.back.servers.0.port = 11211
resources.session.saveHandler.options.back.servers.0.persistent = true
resources.session.saveHandler.options.back.servers.0.status = true
resources.session.saveHandler.options.back.servers.1.host = "127.0.0.2"
resources.session.saveHandler.options.back.servers.1.port = 11211
resources.session.saveHandler.options.back.servers.1.persistent = true
resources.session.saveHandler.options.back.servers.1.status = true
Класс обработчика сохранения сеанса (App_Session_SaveHanlder_Cache реализует Zend_Session_SaveHandler_Interface и использует фабрику Zend_Cache, передавая параметр Libmemcached для внутреннего хранилища.
В моей начальной загрузке у меня есть метод _init, указанный как первый метод, который вызывает загрузочную сессию:
protected function _initForceSession()
{
$this->bootstrap('session');
Zend_Session::start();
}
Я хочу иметь возможность продолжить использование существующего сеанса из основного домена в моем поддомене, если он существует, и создать новый сеанс, если его еще нет.
Я могу успешно прочитать идентификатор сеанса в моем новом приложении, которое было создано в устаревшем приложении. Однако я не могу заставить новое приложение фактически читать в самой сессии.
Я попробовал прямое чтение memcache из нового приложения (в обход сеанса), и я могу получить данные сеанса таким образом.
Что мне здесь не хватает?