Характеристика сессий

Если вы вспомните самое начало нашей беседы, то именно тогда мы описали персональную область данных, которой так не хватает веб-программисту, чтобы хранить что либо. После этого, в ходе рассуждений и примеров было установлено, что PHP надо только сообщить названия переменных, после чего ПХП присвоит всем посетителям идентификаторы (число 128 бит), которое невозможно подделать, откроет на диске файл, названный аналогично номеру сессии для хранения информации. Причем мы так же выяснили, что данные там запакованы с помощью функции сериализации. Для того, что бы работа нашего сайты не имела осложнений, необходимо позаботиться о передаче идентификатора от запроса к запросу. Вариантов для этого достаточно, причем стоит еще раз отметить, что практически все ПХП делает сам. Теперь стоит рассказать более подробно о том, что происходит по умолчанию.

Опять обратимся к примеру: посетитель обратился к одной из страниц вашего сайта. ПХП прочел файлы конфигурации, после чего интерпретатор ПХП начинает выполнять ПХП-файл. Существует два варианта развития событий: он там не встретит команду session_register() или session_start() , в этом случае никакие сессии работать не будут. Если бы ПХП обнаружил параметр настройки session.auto_start равный 1, то сессии стартовали бы без нашей команды.

Учитывая, что мы работаем именно с сессиями, стоит сказать, что эти строчки будут одними из первых, что обработаются ПХП-процессором. То есть, другими словами можно сказать, что поддержка сессии запуститься при старте скрипта.

Что входит в понятие запуск сессий. Перед ПХП стоит вполне понятная задача : выяснить, новый это посетитель или нет. ЕВ первом случае – необходимо выдать ему новое случайное число и создать файл под хранение сессии, если же посетитель уже зарегистрирован, взять его идентификатор и извлечь из соответствующего файла переменные сессии. Если номер сессии не существует, это рассматривается как новый посетитель.

Статьи по теме: