Эй, я в кодовой ситуации WTF работает на сервере jsp tomcat и пытается передать данные сеанса (идентификатор пользователя и т. Д.) На php. Я планирую переписать обработку сеанса php с помощью session_set_save_handler() Мой вопрос: где tomcat хранит данные сеанса (harddrive?) и какую кодировку он использует? или я ошибаюсь? Я знаю, что идея mashing php и jsp - это глупо, просто получил это задание, и я тоже злюсь.Как пройти сеанс между tomcat и php
ответ
Старайтесь избегать сеансов между различными системами. Вы действительно не можете делиться сессиями между PHP и Java, потому что,
- Они работают под разными процессами, может быть, разными машинами. Нет общей памяти.
- Их структуры данных сеанса совершенно разные.
- Сериализация несовместима.
- Различные вкусы печенья, "PHPSESSID" и "JSESSIONID".
Вы в значительной степени должны сами управлять сеансом для обмена сеансами. Это довольно сложно. Ниже приведены компоненты, которые вы должны написать,
- Настройка общего хранилища сеансов, например, базы данных или memcached. Сессия хранится в виде большого блоба.
- Создайте общие структуры данных сеанса. Я просто использую пары имен-значений. Одно и то же имя должно использоваться в обеих системах, а значения должны быть строковыми (UTF-8).
- Используйте обычную сериализацию. Я бы пошел с PHP session_encode(), который довольно легко обрабатывать на Java.
- Обращайтесь к своему собственному сеансовому файлу.
# 3, вы можете сериализовать свой объект сеанса с помощью json_en/decode() в обеих системах. –
Чтобы решить эту проблему, вы можете попробовать использовать сеансы, основанные на базе данных. Предполагая, что tomcat и apache имеют одни и те же хэши сессии, возможно, их можно будет перенести через серверы? Вам нужно посмотреть в файле конфигурации tomcat, и ДОЛЖНО быть под чем-то с префиксом сессии. Вот где я начну. Как правило, на Linux-сервере Ubuntu он находится под чем-то вроде /etc/apache2/apache2.conf.
Надеюсь, это поможет и удачи!
Kyle
Я считаю, что менеджер сеанса по умолчанию для Tomcat будет хранить данные сессии в течение файлов SESSIONS.ser в «рабочем» каталог для вашего приложения.
Вы можете создать и настроить свой собственный менеджер сеансов: http://tomcat.apache.org/tomcat-5.5-doc/config/manager.html
- 1. Сеанс Tomcat между несколькими экземплярами tomcat
- 2. Как tomcat обрабатывает сеанс между перезапусками?
- 3. Как провести сеанс tomcat
- 4. Как вы сохраняете сеанс tomcat?
- 5. Как Tomcat обрабатывает сеанс внутри?
- 6. php сеанс потерян между страницами
- 7. Как пройти сеанс laravel на wkhtmlltopdf
- 8. Php пройти через коммутатор, и пройти через
- 9. Как пройти проверку подлинности PHP?
- 10. Как пройти и получить сеанс по URL-адресу?
- 11. Как использовать сеанс для работы между php webservices и android
- 12. Как пройти и получить намерение между действиями
- 13. Как пройти ImageView между активностью и фрагментом?
- 14. Как пройти тестирование нагрузки CometD на tomcat
- 15. Tomcat 7 Manager - как пройти проверку подлинности?
- 16. Понять и исправить сеанс php, потерянный между https и http
- 17. PHP - index.php и сеанс
- 18. PHP cookie и сеанс
- 19. PHP Вход и сеанс
- 20. Как пройти блоки между методами?
- 21. Как пройти Виды между классами
- 22. сеанс миграции/репликации в tomcat
- 23. Почему PHP не поддерживает сеанс между страницами?
- 24. Как пройти Объекты между действиями
- 25. условный tomcat липкий сеанс (кластеризация)
- 26. PHP и TOMCAT SETUP/интеграция
- 27. Как уничтожить сеанс администратора и сеанс пользователя отдельно в PHP?
- 28. поддерживать сеанс/соединение между php и java-приложением
- 29. синхронизировать сеанс php между сервером apache и nginx
- 30. Как удалить сеанс PHP?
: -o Просто из любопытства, кто просит вас об этом? Ваш руководитель проекта? Или ваш менеджер? :) – OscarRyz
Мой руководитель проекта, да, это ламе проекта :( –