session_startСтартует новую сессию, либо возобновляет существующую
&reftitle.description;
boolsession_startarrayoptions[]
Функция 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 должен быть
зарегистрирован до старта сессии.
&reftitle.parameters;
options
Если задано, то должно быть ассоциативным массивом, переопределяющим
текущие директивы конфигурации сессий.
Ключи не должны иметь префикса session..
В дополнение к обычному набору конфигурационных директив, может быть
добавлена опция read_and_close. Если установлена в &true;, то
сессия будет закрыта сразу же после прочтения, теоретически позволяя избежать
блокировки, если данные сессии не будут изменяться.
&reftitle.returnvalues;
Функция возвращает &true;, если сессия успешно стартована, в противном случае &false;.
&reftitle.changelog;
&Version;&Description;7.1.0session_start теперь возвращает &false; и больше не
инициализирует $_SESSION, когда она не смогла запустить сессию.
&reftitle.examples;
Простой пример сессииpage1.phppage 2';
// Или можно передать идентификатор сессии, если нужно
echo ' page 2';
?>
]]>
После просмотра page1.php, вторая страница
page2.php чудесным образом получит все данные сессии.
Читайте раздел работа с сессиями,
там рассказывается про передачу
идентификаторов сессий. В частности там рассказывается про то, что
такое константа SID.
page2.php
';
echo $_SESSION['favcolor']; // green
echo $_SESSION['animal']; // cat
echo date('Y m d H:i:s', $_SESSION['time']);
// Можете тут использовать идентификатор сессии, как в page1.php
echo ' page 1';
?>
]]>
Передача опций в session_startПереопределение времени жизни cookie
86400,
]);
?>
]]>
Чтение и закрытие сессии
86400,
'read_and_close' => true,
]);
]]>
&reftitle.notes;
Для использования сессий на основе cookie, функция session_start
должна быть вызвана перед выводом чего бы то ни было в браузер.
Используйте zlib.output_compression
вместо ob_gzhandler
Эта функция отсылает несколько заголовков HTTP, в зависимости от настроек.
Смотрите описание функции session_cache_limiter для
управления этими заголовками.
&reftitle.seealso;
$_SESSION
Директива конфигурации session.auto_start
session_id