Процессы и память
В Unix master создаёт worker-процессы и наблюдает за их завершением. Каждый worker обслуживает соединения в своём event loop. $server->count задаёт число процессов для listener; это не число потоков PHP.
Где хранится состояние
Заголовок раздела «Где хранится состояние»Массивы, static-поля, контейнер и event listeners принадлежат процессу. Изменение значения в worker 1 не изменяет worker 2. Для общего состояния используйте внешнюю БД/хранилище либо явно выбранный межпроцессный протокол.
Долгоживущие сервисы создаются при старте worker. Временные данные запроса очищаются после ответа; таймеры, подписки и ссылки на connection освобождаются при закрытии. Сохранённая ссылка на request продлевает жизнь связанных данных и загруженных файлов.
Управление
Заголовок раздела «Управление»Master обрабатывает SIGINT как обычную остановку, SIGTERM/SIGQUIT — graceful stop, SIGUSR1 — reload, SIGUSR2 — graceful reload. SIGHUP запрашивает hot upgrade. Используйте CLI-команды, которые учитывают платформу и PID-файл.
Reload создаёт workers из существующего master; он не равен повторному запуску нового PHP-кода master. Для изменения bootstrap-кода и зависимостей выбирайте restart/поддерживаемый upgrade и проверяйте завершение старых процессов. Graceful завершение ограничено тайм-аутами.
Windows использует другой runtime запуска. Схему Unix fork и сигналы нельзя переносить на Windows буквально.