test3
Guest
Хранение сессий в БД - можно ли настроить в php.ini?
Начал работу с сессиями в Apache+PHP+MySQL, надо хранить их в БД. Нашел пример, работает, но приходится в каждый скрипт включать установку соединения с базой, описания функций хендлеров сессии open(), close(), read(), write(), destroy(), gc() и session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");
Понятно, что включение просто через include_once, но нельзя ли вообще этого избежать? (использование сессий из PEAR или ADODB просто скрывает проблему).
В PHP.INI есть параметр session.save_handler = files, который вроде можно установить в session.save_handler = user. Но описание есть только для files ! В одном тексте было сказано, что user необходимо установить, чтобы session_set_save_handler вообще работала; но у меня (Php5, Apache1.3) мои сессии работают и без этого. Только вот в каждом скрипте их надо включать, в то время как стандартное хранение в files превосходно работает без моего участия.
Собственно вопрос: можно ли однократно указать PHP для всех сессий использовать одно соединение с БД и один набор функций? Чтобы не открывать каждый раз в своем скрипте соединение и не регистрировать те же функции заново?
По идее, это как-то можно сделать; но как?
Просьба не посылать меня в поиск! Я там был и ничего не нашел - только те же вопросы и сообщения о безуспешных экспериментах! Если кто найдет сообщение об успешном использовании (указать соединение и функции один раз, а в скриптах просто вызывать session_start() без предшествующего include 'mysess.inc' или include 'PEAR/HTTP/Session') - напишите сюда прямую ссылку!
Начал работу с сессиями в Apache+PHP+MySQL, надо хранить их в БД. Нашел пример, работает, но приходится в каждый скрипт включать установку соединения с базой, описания функций хендлеров сессии open(), close(), read(), write(), destroy(), gc() и session_set_save_handler ("open", "close", "read", "write", "destroy", "gc");
Понятно, что включение просто через include_once, но нельзя ли вообще этого избежать? (использование сессий из PEAR или ADODB просто скрывает проблему).
В PHP.INI есть параметр session.save_handler = files, который вроде можно установить в session.save_handler = user. Но описание есть только для files ! В одном тексте было сказано, что user необходимо установить, чтобы session_set_save_handler вообще работала; но у меня (Php5, Apache1.3) мои сессии работают и без этого. Только вот в каждом скрипте их надо включать, в то время как стандартное хранение в files превосходно работает без моего участия.
Собственно вопрос: можно ли однократно указать PHP для всех сессий использовать одно соединение с БД и один набор функций? Чтобы не открывать каждый раз в своем скрипте соединение и не регистрировать те же функции заново?
По идее, это как-то можно сделать; но как?
Просьба не посылать меня в поиск! Я там был и ничего не нашел - только те же вопросы и сообщения о безуспешных экспериментах! Если кто найдет сообщение об успешном использовании (указать соединение и функции один раз, а в скриптах просто вызывать session_start() без предшествующего include 'mysess.inc' или include 'PEAR/HTTP/Session') - напишите сюда прямую ссылку!
)
Надо писать разработчикам PHP, может включат такой фокус в следующую версию.