У меня есть устаревшее 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 из нового приложениясвязь (в обход сеанса), и я могу получить данные сеанса таким образом.
Что мне здесь не хватает?