Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > PHP: Общие вопросы > Доступ к сессии не из веб-приложения |
Автор: POLTER 20.3.2008, 14:51 |
Здравствуйте. На сервере выполняется некий демон на PHP. И есть веб-приложение, которое использует сессии (тоже на PHP). Мне нужно из демона получить доступ к сессии веб-приложения, зная её SID. Можно ли как-то это сделать, не лазяя напрямик в файл и таблицу бд, где хранится сессия? Если да, то как? Спасибо. |
Автор: Canarat 20.3.2008, 14:58 |
POLTER, нет, ибо в такой постановке задачи само по себе противоречие. |
Автор: POLTER 20.3.2008, 15:05 | ||
Ну, я имел в виду, получить доступ через массив $_SESSION, без написания собственных обработчиков сессии. |
Автор: skyboy 20.3.2008, 15:09 | ||
первым делом замечу, что проще подобное делать через такие механизмы, которые и призваны быть "способом обмена информацией": БД или файлы. Тем более, что можно сделать сохранение в базу "прозрачным": при помощи http://ua.php.net/manual/en/function.session-set-save-handler.php установить собственный механизм записи, хранения и чтения. тогда в твоем "веб-приложении" будет работа с данными через переменную $_SESSION, а в демоне - обращением к непосредственному месту хранения установленному тобой(в БД). но если так уж хочется обойтись без БД(месье желает извращений? ![]() 1. сформировать страницу(скажем, return_session_var.php)
2. демон будет обращаться к странице через lopback('127.0.0.1/return_session_var.php?PHPSESSID='.$phpSessionID) посредством сокетов или cURL(обычно так чужие страницы получают и парсят) и обрабатывай содержимое. |
Автор: POLTER 20.3.2008, 15:12 |
Ясно, спасибо! |
Автор: skyboy 20.3.2008, 15:14 | ||
можешь попробовать установить "знаемое демоном session id" при помоши http://ua.php.net/session_id. не на чем проверить.
|
Автор: POLTER 20.3.2008, 16:15 |
Это я первым делом попробовал, но оно не работает в не-веб приложении. Так что буду модифицировать таблицу в бд с сессией. |
Автор: Feldmarschall 20.3.2008, 19:47 |
что значит - не работает? еси приложение написано на РНР, то не "не работает", а приложение написано криво. и не забывать в демоне закрывать сессию после работы с ней. |
Автор: POLTER 20.3.2008, 22:35 | ||||
Ну незнаю, может что-то неправильно делаю? Вот просто пример:
Если запускаю из браузера, то выводит, что требовалось. А из консоли:
|
Автор: Feldmarschall 21.3.2008, 00:52 |
файлы сессий консольный пых откуда берет? |
Автор: POLTER 22.3.2008, 00:49 |
О, прописал в php.ini session_save_path, теперь работает везде. Спасибо большое за наводку! То, что мне нужно было ![]() |