Стороннее приложение PHP хранит данные в сеансе пользователя (используя файл cookie для PHPSESSID). В этом приложении переменная $_SESSION
содержит все эти данные.
В моем приложении Symfony2 одна и та же $_SESSION
содержит только некоторые данные Symfony ( _sf2_attributes
, _security_secured_area
, _sf2_flashes
и т. Д.), И я не вижу никаких других данных из другого приложения.
Я var_dump
переменной $ _SESSION в контроллере. Использование объекта Symfony Session показывает те же данные. 2 приложения используют один и тот же домен для хранения файла cookie PHPSESSID.
Как я могу получить все данные сеанса в приложении Symfony? Я хотел бы, чтобы сеанс был разделен между двумя приложениями.
Я, наконец, решил проблему. Symfony хранит данные сеанса в своем собственном каталоге ( app/cache/[environment]/sessions
). Таким образом, решение состоит в том, чтобы установить путь к config.yml
по умолчанию в config.yml
:
framework: session: save_path: ~
Это установит путь по умолчанию (например, /var/lib/php5
в Linux), а устаревшие данные сеанса приложения станут доступными для приложения Symfony.