FrankenPHP — это современный сервер приложений для PHP, разработанный для высокой производительности, поддерживающий асинхронные задачи, HTTP/2, HTTP/3 и WebSockets. Сервер работает как самостоятельное приложение или расширение для различных веб-серверов, например, Caddy.
Данный веб-сервер написан на языке Go и использует CGO для тесной интеграции с PHP, что обеспечивает низкие накладные расходы и быструю обработку запросов. Поддерживает стандартные расширения PHP, инструменты отладки (например, Xdebug), а также интеграцию с профилировщиками и системами мониторинга.
FrankenPHP плохо поддерживается для Windows.
Сервер FrankenPHP распространяется в виде бинарных файлов и Docker-образов. Актуальные версии доступны в официальном GitHub-репозитории. Установка описана в разделе документации сервера frankenphp.dev/docs.
FrankenPHP работает в различных режимах, здесь будет показан самый простой, достаточный, чтобы попробовать работу с фреймворком локально и продемонстрировать, что фреймворк поддерживает этот веб-сервер.
Для фреймворка HLEB2 достаточно указать путь к публичной папке при запуске из корневой директории проекта:
$frankenphp php-server -r public/ --listen 127.0.0.1:8080
Здесь еще добавлен конкретный адрес и порт для локальной разработки. Убедитесь, что этот порт был свободен.
Теперь приложение будет доступно по адресу:
http://127.0.0.1:8080