Как пройти сеанс между tomcat и php

Эй, я в кодовой ситуации WTF работает на сервере jsp tomcat и пытается передать данные сеанса (идентификатор пользователя и т. Д.) На php. Я планирую переписать обработку сеанса php с помощью session_set_save_handler (), мой вопрос: где tomcat хранит данные сеанса (harddrive?) и какую кодировку он использует? или я ошибаюсь? Я знаю, что идея mashing php и jsp – это глупо, просто получил это задание, и я тоже злюсь.

Старайтесь избегать сеансов между различными системами. Вы не можете делиться сеансами между PHP и Java, потому что,

  1. Они работают под разными процессами, может быть, разными машинами. Нет общей памяти.
  2. Их структуры данных сеанса совершенно разные.
  3. Сериализация несовместима.
  4. Различные вкусы печенья, «PHPSESSID» и «JSESSIONID».

Вы сами должны сами управлять сеансом, чтобы делиться сеансами. Это довольно сложно. Ниже приведены компоненты, которые вы должны написать,

  1. Настройте общий хранилище сеансов, например, DB или memcached. Сессия хранится в виде большого блоба.
  2. Разработайте общие структуры данных сеанса. Я просто использую пары имен-значений. Одно и то же имя должно использоваться в обеих системах, а значения должны быть строковыми (UTF-8).
  3. Используйте общую сериализацию. Я бы пошел с PHP session_encode (), который довольно легко обрабатывать на Java.
  4. Обрабатывайте свой собственный cookie сеанса.

Вы можете попробовать использовать сеансы, основанные на базе данных, для решения этой проблемы. Предполагая, что tomcat и apache имеют одни и те же хэши сессии, возможно, их можно будет перенести через серверы? Вам нужно посмотреть в файле конфигурации tomcat, и ДОЛЖНО быть под чем-то с префиксом сессии. Вот где я начну. Как правило, на Linux-сервере Ubuntu он находится под чем-то вроде /etc/apache2/apache2.conf.

Надеюсь, это поможет и удачи!

рукав моря

Я считаю, что диспетчер сеансов по умолчанию для Tomcat будет хранить данные сеанса в файлах SESSIONS.ser в каталоге «work» для вашего приложения.

Возможно, вам захочется создать и настроить собственный диспетчер сеансов: http://tomcat.apache.org/tomcat-5.5-doc/config/manager.html