Режим воркеров
01Постоянные процессы PHP инициализируются один раз и обрабатывают тысячи запросов. Суперглобальные переменные, буферы и заголовки мягко сбрасываются между запросами; автозагрузчики, контейнеры и соединения с БД сохраняются.
Модель выполнения, доставка по HTTP, разделяемое состояние, наблюдаемость и безопасность — встроены, включены по умолчанию или доступны через одну переменную окружения. Никаких конфигов nginx, никаких сайдкаров, никаких плагинов для компиляции.
Постоянные воркеры, кооперативные файберы и настоящие фоновые потоки — жизненный цикл запроса вы формируете сами.
Постоянные процессы PHP инициализируются один раз и обрабатывают тысячи запросов. Суперглобальные переменные, буферы и заголовки мягко сбрасываются между запросами; автозагрузчики, контейнеры и соединения с БД сохраняются.
Каждый воркер обрабатывает сотни конкурентных запросов через PHP 8.4 Fibers — операции sleep и await приостанавливают файбер, а не блокируют поток.
Отправляйте замыкания в выделенный пул потоков и дожидайтесь результатов — с комбинаторами all, race и any для параллельного разветвления.
Отправляйте ответ клиенту немедленно, а затем продолжайте обработку в фоне — ставьте задачи в очередь, пишите логи, прогревайте кеши.
Перехватывайте вызовы функций и методов с помощью атрибутов PHP 8 — повторяйте попытки, кешируйте, трассируйте или защищайте, не трогая места вызова.
Server-Sent Events в реальном времени прямо из PHP с явным контролем сброса буфера — без сюрпризов с буферизацией на прокси.
Слой веб-сервера, которым раньше владел nginx — маршрутизация, статические файлы, TLS, сжатие и защита — настраивается через переменные окружения.
Традиционное сопоставление файлов, front-controller фреймворка или SPA-фолбэк — переключается одной переменной; режим воркеров надстраивается поверх любого из них.
Кеш содержимого в памяти, автоматическое определение MIME, заголовки ETag и Last-Modified, потоковая передача больших файлов.
Текстовые ответы сжимаются из коробки — качество настраивается от 0 до 11, сэкономленные байты доступны как метрика.
Терминация TLS через две переменные — PEM-сертификат и ключ, минимальная версия протокола проверяется при запуске.
Лимиты на каждый IP с настраиваемыми окнами. Запросы сверх лимита получают 429; заполненная очередь PHP отвечает 529 — противодавление (backpressure).
Таймаут чтения заголовков против Slowloris, таймауты запросов и окно корректного слива соединений при завершении работы.
Собственный HTML для каждого статус-кода — положите 404.html или 503.html в каталог и укажите на него одной переменной.
SIGTERM сливает активные соединения перед выходом — плавные развёртывания без потерянных запросов.
Метрики, логи, трассы и профили встроены в сервер — никаких экспортёров, никаких сайдкаров, никаких изменений в коде.
Выделенный внутренний порт отдаёт метрики запросов, воркеров, очереди, кеша и асинхронных операций — готово для Grafana.
JSON-логи доступа с методом, путём, статусом, длительностью и идентификатором запроса в каждой строке — Loki и Elasticsearch разбирают их как есть.
X-Request-ID генерируется или пробрасывается автоматически, доступен в PHP и проставляется в каждой строке лога.
W3C Trace Context, экспорт в OpenTelemetry, автоматическая инструментация PDO, cURL и Redis, плюс SDK трассировки для PHP.
Профили для каждого запроса в форматах xhprof, speedscope, pprof и FlameGraph — запускаются по заголовку, cookie или сэмплированию.
Эндпоинты liveness и readiness плюс актуальный снимок конфигурации — пробы Kubernetes работают из коробки.
Разумные средства защиты включены по умолчанию, плюс дени-листы для острых углов легаси-приложений на PHP.
Скрытые файлы и каталоги — .env, .git/, .htaccess — никогда не отдаются. Включено по умолчанию, без настройки.
Настоящий IP клиента из заголовков Forwarded (RFC 7239) и X-Forwarded-*, с доверием на основе CIDR и выбором самого правого недоверенного адреса.
Блокируйте выполнение .php в доступных для записи путях вроде /uploads/** — атаки через загруженный шелл на легаси-приложения гибнут ещё до дискового I/O.
Выход за пределы корня документов по символическим ссылкам блокируется, если путь явно не внесён в список разрешений — Laravel storage:link продолжает работать.
Скопируйте своё приложение в образ и запустите его.
Мы используем строго необходимые файлы cookie, чтобы этот сайт работал. С вашего согласия мы также используем cookie предпочтений (тема, язык) и анонимную аналитику. Отказ от них не ограничит использование сайта. Политика использования cookie