Управление процессом и выпуск кода
Entry point и команды
Заголовок раздела «Entry point и команды»Для control-команд используйте тот же файл приложения, working directory, PHP binary и service user. PID/status paths должны относиться именно к этому экземпляру. Команды сверены по Server 7e7cbda, а не обещаны для Server 4 и любой платформы.
php server.php startphp server.php start -dphp server.php status --jsonphp server.php connections --jsonphp server.php capabilities --jsonphp server.php reload -gphp server.php stop -gphp server.php restart -gphp server.php upgradephp server.php helpВ разработке запускайте в переднем плане. С supervisor/контейнером обычно оставляйте foreground и отдавайте restart supervisor; не стройте вложенные daemon managers. Unix daemon mode использует -d и настроенные stdout/log files. У каждого экземпляра должны быть собственные writable runtime paths; не делите PID files между приложениями.
Reload, restart и upgrade различаются
Заголовок раздела «Reload, restart и upgrade различаются»- reload заменяет workers из уже работающего master image. PHP definitions, загруженные master, могут остаться старыми. Reload не гарантирует применение произвольно изменённых классов.
- restart останавливает и запускает приложение; возможен listener gap, нужна проверка старта.
- upgrade пытается выполнить master re-exec/listener handoff при объявленных runtime capabilities. У неподдерживаемых runtime и изменённой listener topology отдельные failure/fallback пути; проверяйте capabilities и конкретный релиз.
- -g запрашивает graceful stop/restart/reload. Результат ограничен поведением worker/protocol shutdown и timeouts; это не гарантия отсутствия отключений WebSocket и потерь application data.
Приёмка и восстановление
Заголовок раздела «Приёмка и восстановление»Проверяйте новую ревизию, listener, HTTP health, реальный запрос, logs и долгоживущие соединения. Тестируйте slow requests, вечных клиентов и падение нового worker. Сохраняйте rollback artifact/config; откат кода не откатывает автоматически миграции данных. In-memory state worker не постоянно и не разделяется процессами.
Windows и fallback без pcntl не дают полную Unix control/supervision модель. Ориентируйтесь на capabilities, а не только наличие имени команды. Исходники.