PHP4 позволяет переопределить стандартные обработчики сессии, если они почему-то вас не устраивают.
В таблице 1 описаны все стандартные обработчики сессии PHP4.
Таблица 1.
| Обработчик | Назначение |
| session_handler_open(string $save_path, string $session_name) | Данный обработчик вызывается при инициализации сессии, то есть, когда вызывается функция session_start(). Обычно этот обработчик открывает базу данных (или какой-нибудь файл) для группы сессий $session_name. |
| session_handler_close() | Данный обработчик вызывается, когда нужно закрыть временное хранилище (вся информация уже записана) |
| session_handler_read(string $sid) | Функция вызывается, когда нужно прочитать данные сессии. В качестве параметра передается идентификатор сессии – $sid.Функция возвращает данные сессии в формате: name1=value1;name2=value2;...;nameN=valueN; Под значением подразумевается сериализированные с помощью функции Serialize данные. Например, var1|i:10;var2|i:20, в сессии были сохранены две переменные – var1 и var2. Значение первой – 10, второй – 20. |
| session_handler_write(string $sid, string $data) | Функция предназначена для записи данных сессии с указанным идентификатором. Параметр $data задается в вышеописанном формате. |
| session_handler_destroy(string $sid) | Этот обработчик вызывается перед уничтожением сессии. |
| session_handler_gc(int $maxlifitime) | Обработчик handler_gc вызывается после того, как сценарий завершил свою работу. Если пользователь окончательно «ушел» с вашего сервера, PHP должен удалить данные сессии. Вот именно для это и предназначена функция handler_gc. Параметр $maxlifetime – максимальное время существования сессии в секундах. |
Вы, наверное, заметили, что имена обработчиков начинаются префиксом session_handler. Это не является обязательным: такой префикс я использовал для большего понимания и, главным образом, акцентирования вашего внимания, что данные функции являются обработчиками сессии. Вы же можете использовать любое удобное для вас имя.
Для переопределения обработчиков используется функция session_set_save_handler($open,$close,$read,$write,$destroy,$gc).