session_start

(PHP 4, PHP 5, PHP 7, PHP 8)

session_start — Стартує нову сесію або відновлює існуючу

Опис

session_start(array $options = []): bool

Функцияsession_start() створює сесію, або відновлює існуючу, ґрунтуючись на ідентифікаторі сесії, переданому через GET або POST-запит, або переданий через cookie.

Коли викликана функція session_start() або коли сесія створюється автоматично, PHP викликає відкриття та читання обробників запису сесії. Це можуть бути як вбудовані обробники, так і модулі (наприклад, SQLite або Memcached); або взагалі визначений користувачем обробник, заданий функцією session_set_save_handler(). Callback-функція читання витягне всі існуючі дані сесії (збережені у спеціальному серіалізованому вигляді), десеріалізує їх і занесе до суперглобального масиву $_SESSION, після чого поверне збережені дані обробнику сесій PHP.

Для використання іменованих сесій, використовуйте session_name()передsession_start()

Если разрешена опцияsession.use_trans_sid, функцияsession_start() реєструє внутрішній обробник виводу для перезапису URL-адрес.

Якщо користувач використовує ob_gzhandler або щось подібне спільно з функцією ob_start(), Порядок функцій важливий для правильного виведення. Наприклад, ob_gzhandler має бути зареєстрований до старту сесії.

Список параметрів

options

Якщо поставлено, то має бути асоціативним масивом, що перевизначає поточні директиви конфігурації сесій. Ключі не повинні мати префіксу session.

На додаток до звичайного набору конфігураційних директив може бути додана опція read_and_closeЕсли установлена в**true**сесія буде закрита відразу ж після прочитання, теоретично дозволяючи уникнути блокування, якщо дані сесії не будуть змінюватися.

Значення, що повертаються

Функція повертає true, якщо сесія успішно стартована, інакше false

список змін

ВерсияОпис
7.1.0session_start() тепер повертає **false**і більше не ініціалізує$_SESSIONколи вона не змогла запустити сесію.

Приклади

Простий приклад сесії

Приклад #1 page1.php

Loading...

Після перегляду page1.php, друга сторінка page2.php чудово отримає всі дані сесії. Читайте розділ робота із сесіями, там розповідається про передачу ідентифікаторів сесій. Зокрема там розповідається про те, що таке константа SID

Приклад #2 page2.php

Loading...

Передача опций вsession_start()

Приклад #3 Перевизначення часу життя cookie

Loading...

Приклад #4 Читання та закриття сесії

Loading...

Примітки

Зауваження :

Для использования сессий на основе cookie, функцияsession_start() повинна бути викликана перед виведенням чогось у браузер.

Зауваження :

Используйтеzlib.output_compression замість ob_gzhandler()

Зауваження :

Ця функція надсилає кілька заголовків HTTP, залежно від налаштувань. Дивіться опис функції session_cache_limiter() для керування цими заголовками.

Дивіться також