Перейти к содержимому
docs.
WORKSPACE

Документации проектов

Открыть каталог проектов
Localzet ServerАсинхронный PHP-сервер✓TriangleФреймворк и компонентыMIX IDИдентификация и интеграцииHack APIПубличные API хакатонаACNПроект и компонентыUserlay / UserNetПроект и компонентыAxiomПроект и компонентыМесседжинг через почтуПроект и компонентыLWT / JWT / JOSEПроект и компонентыФинансовая аналитика KimaiПроект и компонентыМультипарадигмальная БДПроект и компонентыZorin PlatformПроект и компонентыZorin TrustПроект и компонентыFloraScope / VegwatchПроект и компонентыaegis-qДокументация проектаaevumdbДокументация проектаauditДокументация проектаauto-invest-managerАвтотрейдерcaine-companionДокументация проектаcertbot-cloudflareДокументация проектаClusterLocalzet Server / ClustercmdveilДокументация проектаConsolePHP CLICronБиблиотеки Localzet Serverdata-connectorДокументация проектаdevice-controlDevice Controlenn-projectДокументация проектаEventsБиблиотеки Localzet ServerflowsintДокументация проектаforgeДокументация проектаHttpClientБиблиотеки Localzet ServerinterpreterСобственный языкinvariaДокументация проектаkeynotesДокументация проектаknotrouteKnotroutelaravel-personal-analyticsДокументация проектаlocalzet-osДокументация проектаmeridianДокументация проектаMQTTБиблиотеки Localzet Servernano-kernelСобственная ОСNoterДокументация проектаpersonal-analyticsДокументация проектаProxyБиблиотеки Localzet ServerPSRБиблиотеки Localzet ServerPSR-7Библиотеки Localzet Serverrschs-monitorДокументация проектаsemsealДокументация проектаshardsealДокументация проектаSocketIOБиблиотеки Localzet ServerSOCKS5Библиотеки Localzet Serverstandalone-analyticsДокументация проектаstatic-php-cliДокументация проектаStorageБиблиотеки Localzet ServersutureДокументация проектаtempoweaveДокументация проектаttsСинтез речиTunnelБиблиотеки Localzet Serverui-kitUI KitvesperДокументация проектаWebAnalyzerWebAnalyzerzorin-access-brokerДокументация проектаzorin-authority-brokerДокументация проектаzorin-authority-sdk-phpДокументация проектаzorin-authority-sdk-pythonДокументация проектаzorin-authority-sdk-tsДокументация проектаzorin-client-intelДокументация проектаzorin-device-core-aospДокументация проектаzorin-host-agentДокументация проектаzorin-native-labДокументация проектаzorin-nodeДокументация проектаzorin-opsДокументация проектаdonstu-python-sdkДокументация проектаfloortraceFloortraceserver-rsLocalzet Server / Cluster
Каталог
Документация/Localzet Server

HTTP-сессии

Request::session() предоставляет отдельный объект Session; session_start() не требуется. Идентификатор передаётся cookie, данные остаются у handler. Настройка статическая в рамках worker, сами данные принадлежат экземпляру.

get($key, $default) использует ??: null возвращает default. has() использует isset, exists() — array_key_exists. set()/put() изменяют значения; put принимает также массив. delete()/forget() удаляют ключи, pull() читает и удаляет, all() возвращает данные, flush() очищает всё.

save() записывает изменённые данные через serialize; пустая изменённая сессия вызывает destroy. При чтении unserialize запрещает классы объектов. При отсутствии изменений timestamp обновляется только с Session::$autoUpdateTimestamp; refresh() обновляет его явно. gc() запускает очистку с Session::$lifetime.

Ограничение текущей реализации: save игнорирует bool от write/destroy и сбрасывает dirty-флаг даже при false. Исключение handler видно при явном save, но деструктор перехватывает Throwable. Поэтому нельзя считать завершённый запрос доказательством сохранения сессии. Handler может выбрасывать исключения при ошибке, а приложение — явно сохранять и обрабатывать сбой до успешного ответа.

Session::setHandler($instance)/handler($instance) задают SessionHandlerInterface. handlerClass($class, $config) проверяет интерфейс и сбрасывает singleton. Методы интерфейса: open, close, read, write, destroy, gc, updateTimestamp. Фасад самостоятельно не организует полный PHP session lifecycle через open/close.

По умолчанию FileSessionHandler использует session_save_path либо временную директорию localzet-sessions. Настройте постоянный закрытый от HTTP путь через handlerClass(FileSessionHandler::class, ['save_path' => $path]). Запись temp+rename предотвращает частично прочитанный файл, но не потерю обновлений при одновременном read-modify-write. Для нескольких узлов требуется общее хранилище с определённой моделью конкурентности; оно не появляется автоматически.

Session::setCookieParams() принимает lifetime/path/domain/secure/httponly/samesite; getCookieParams() возвращает карту. Инициализация читает PHP ini, поэтому явно задайте требуемую политику до обработки запросов. Cookie lifetime и lifetime хранения различаются. Смотрите управление идентификатором.

Сессия не заменяет авторизацию, CSRF, ограничения попыток входа или отзыв доступа. Не сохраняйте объекты сервисов/соединений; используйте минимальные сериализуемые данные. GC вероятностный, а не расписание точного удаления.

Source.