Поддръжката на сесия в PHP се състои в това да бъдат запазени определени данни, за по-удобно последващо използване. Това ви позволява да създавате приложения, конфигурирани според вашите нужди и да увеличите привлекателността на страницата си.
Всеки посетител на страницата получава уникален идентификатор, така нареченият сесиен идентификатор. Той се съхранява или в бисквитка, или се разпространява посредством URL адреса.
Поддръжката на сесии ви позволява да регистрирате неограничен брой променливи, които да бъдат запазвани между различните заявки. Когато посетител достигне сайта ви, PHP прави автоматична проверка (ако session.auto_start е установено на 1) или ако е указано (изрично чрез session_start() или директно чрез session_register()), дали определен сесиен идентификатор е бил изпратен със заявката. В този случай, така съхранените данни се възвръщат.
Ако включите session.auto_start, то тогава не можете да добавяте обекти в сесиите си, тъй като дефинициите на класовете трябва да бъдат заредени преди инициализирането на сесията, с цел обектите в сесията да бъдат създадени отново.
Всички регистрирани променливи се сериализират след приключване на заявката. Регистрираните променливи, които са недефинирани, биват маркирани като недефинирани. При последващ достъп, същите не са дефинирани от сесийния модул, освен ако потребителят не ги дефинира по-късно.
Някои типове данни не могат да бъдат сериализирани, следователно не могат да бъдат съхранени в сесия. Това включва променливи от тип resource или обекти с циклична зависимост на референциите (т.е. обекти, които предават референции към себе си, към други обекти.
Забележка: Работата със сесии бе добавена в PHP 4.0.0.
Забележка: Моля обърнете внимание, че когато работите със сесии, не се създава запис в сесията, докато не се регистрира променлива чрез функцията session_register() или чрез добавяне на нов ключ в масива $_SESSION. Това връща true независимо дали сесия е била инициализирана чрез функцията session_start().