Repolode
php

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. 1

    Установите FrankenPHP с помощью Homebrew

    brew install dunglas/frankenphp/frankenphp
  2. 2

    Раздайте содержимое текущего каталога

    frankenphp php-server
  3. 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 обновляется ежедневно.

Похожие проекты