Caddy — расширяемый веб-сервер на Go, который поддерживает HTTP/1.1, HTTP/2 и HTTP/3 и по умолчанию автоматически включает HTTPS.
php/frankenphp
Современный сервер приложений для PHP на базе веб-сервера Caddy: режим worker, Early Hints, HTTP/3 и автоматическая настройка HTTPS.
- Звёзды
- 11,441
- Форки
- 498
- Открытые issues
- 117
- Последний коммит
- 11 часов назад
Что это?
FrankenPHP — сервер приложений для PHP, написанный на Go и построенный на базе веб-сервера Caddy. Он запускает любые PHP-приложения и поддерживает режим worker, в котором приложение остаётся в памяти между запросами, а также Early Hints, поддержку взаимодействия в реальном времени через Mercure и горячую перезагрузку. В комплект входят автоматическая настройка HTTPS, HTTP/2 и HTTP/3.
Проект поставляется в виде отдельного бинарного файла для Linux, macOS (Apple Silicon) и Windows. Также доступны пакеты rpm, deb и apk, Homebrew и Docker-образы. Для Laravel и Symfony есть официальные интеграции с режимом worker. FrankenPHP можно использовать и как библиотеку Go, чтобы встроить PHP в приложение на net/http.
В проекте есть команды вроде `frankenphp php-server` для обслуживания каталога и `frankenphp php-cli` для запуска скриптов. Поддерживается создание автономных PHP-приложений и статических бинарных файлов, а также написание PHP-расширений на Go.
Ключевые возможности
- 01Режим worker сохраняет приложения в памяти между запросами.
- 02Поддержка Early Hints (код состояния 103), HTTP/2 и HTTP/3.
- 03Автоматическая настройка HTTPS и поддержка взаимодействия в реальном времени через Mercure.
- 04Горячая перезагрузка во время разработки.
- 05Отдельные бинарные файлы, системные пакеты и Docker-образы.
Сценарии использования
- Запуск приложений Laravel или Symfony в режиме worker для повышения пропускной способности.
- Замена связки Nginx и PHP-FPM одним бинарным файлом сервера.
- Встраивание PHP в Go-сервис с использованием net/http.
- Упаковка PHP-приложения в виде самостоятельно запускаемого бинарного файла.
Быстрый старт
- 1
Установите FrankenPHP с помощью Homebrew
brew install dunglas/frankenphp/frankenphp - 2
Раздайте содержимое текущего каталога
frankenphp php-server - 3
Откройте https://localhost в браузере и примите самоподписанный сертификат
Что важно знать
- Автономный бинарный файл для macOS поддерживает только Apple Silicon.
- Для локального HTTPS используется самоподписанный сертификат, который нужно принять вручную.
Темы
Частые вопросы
- Что такое frankenphp?
- Современный сервер приложений для PHP на базе веб-сервера Caddy: режим worker, Early Hints, HTTP/3 и автоматическая настройка HTTPS. FrankenPHP — сервер приложений для PHP, написанный на Go и построенный на базе веб-сервера Caddy. Он запускает любые PHP-приложения и поддерживает режим worker, в котором приложение остаётся в памяти между запросами, а также Early Hints, поддержку взаимодействия в реальном времени через Mercure и горячую перезагрузку. В комплект входят автоматическая настройка HTTPS, HTTP/2 и HTTP/3.
- frankenphp можно использовать бесплатно? Какая у него лицензия?
- frankenphp распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- frankenphp всё ещё поддерживается?
- Активно поддерживается. Последний коммит в frankenphp — 21 окт. 2026 г..
- Для чего можно использовать frankenphp?
- Запуск приложений Laravel или Symfony в режиме worker для повышения пропускной способности. Замена связки Nginx и PHP-FPM одним бинарным файлом сервера. Встраивание PHP в Go-сервис с использованием net/http. Упаковка PHP-приложения в виде самостоятельно запускаемого бинарного файла.
- Как установить frankenphp?
- Установите FrankenPHP с помощью Homebrew: brew install dunglas/frankenphp/frankenphp Раздайте содержимое текущего каталога: frankenphp php-server Откройте https://localhost в браузере и примите самоподписанный сертификат
- Где скачать frankenphp?
- Исходный код и инструкции по установке — на GitHub: https://github.com/php/frankenphp
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Высокопроизводительный веб-сервер, обратный прокси, балансировщик нагрузки, API-шлюз и кэш контента, написанный на C.
Высокопроизводительный минималистичный веб-фреймворк для Go на базе стандартного пакета net/http.
Среда выполнения JavaScript, TypeScript и WebAssembly с безопасными настройками по умолчанию, построенная на V8, Rust и Tokio.
HTTP-клиент для JVM, Android и GraalVM с повторным использованием соединений, поддержкой HTTP/2 и кэшированием ответов по умолчанию.
Компактный сервер аутентификации и авторизации: работает как middleware для Traefik, Nginx и Caddy или как отдельный сервер SSO.