FRANKENPHP · PHP И CADDY
Один сервер.
Два жизненных цикла PHP.
Разберите настоящие HTTP-запросы, сравните classic и worker, соберите Caddyfile для своего проекта.
Здесь восемь записей реального локального FrankenPHP. Кнопки просматривают сохранённые ответы и создают конфигурацию; сервер сайта не запускает новый worker. Весь исполняемый проект для Windows и Linux доступен в ZIP.
Загружаем запись…
1. Пройдите запросы по шагам
Полный ответ HTTP
Время включает локальный HTTP-запрос и служит описанием этой записи. Несколько запросов нельзя считать сравнительным нагрузочным тестом. Значения bootId и requestId здесь демонстрационные.
2. Соберите конфигурацию
Настройки не меняют исторические ответы выше. Несколько workers имеют отдельные объекты Kernel. Общие данные нужно хранить вне памяти worker. Для HTTPS нужны ваш домен, DNS, доступные порты и постоянное хранилище сертификатов.
Готовый Caddyfile
3. Посмотрите исходники worker
В архиве — PHP-приложение, Caddyfile, Dockerfile, Compose, автоматические проверки и инструкция. В Windows можно использовать официальный native-архив FrankenPHP с PHP DLL; в Linux — официальный образ или бинарник.
Kernel.php: маршруты и очистка состояния · index.php: цикл worker · Документация worker mode