Багатопотоковий сервер застосунків PHP для cloud-native інфраструктури

Один процес замість nginx і PHP-FPM. TLS, Brotli, обмеження частоти запитів, метрики Prometheus, трасування OpenTelemetry і профайлер для кожного запиту вбудовані — і все налаштовується змінними середовища. Однаково добре працює і з legacy-кодом, і з сучасними фреймворками. Створений для Docker і Kubernetes.

v0.13.0ознайомча версія
ШВИДКИЙ СТАРТ

Два рядки в Dockerfile

Скопіюйте застосунок в образ і запустіть його. TLS, стиснення, обмеження частоти запитів, метрики, перевірки працездатності та структуровані логи налаштовуються змінними середовища.

Повний посібник зі швидкого старту →
Dockerfile
FROM ghcr.io/oxphp/oxphp:0.13.0 COPY --chown=www-data:www-data . /var/www/html/public
$ docker build -t my-app . && docker run -p 80:80 my-app
МОЖЛИВОСТІ

Один процес замінює весь стек

Усі можливості →
01

Постійні воркери PHP залишаються активними між запитами — автозавантажувачі, контейнери та зʼєднання з БД ініціалізуються лише один раз.

02

Кожен воркер обробляє кілька конкурентних запитів за допомогою файберів PHP 8.4; виклики sleep і await віддають керування замість блокування.

03

Передавайте замикання у виділений пул потоків з комбінаторами all, race та any — справжнє паралельне виконання.

04

Лічильники, атомарні змінні, канали, мапи та пули, спільні для всіх воркерів — без мережевих звернень до Redis, операції за мікросекунди.

05

Метрики Prometheus, трейси OpenTelemetry, автоматичне APM-інструментування PDO, cURL і Redis — без змін у коді.

06

Профілі кожного запиту у форматах xhprof, speedscope, pprof і FlameGraph — запускаються за заголовком, cookie або вибірково.

ЧОМУ OXPHP

Порівняння з альтернативами

nginx+FPM
FrankenPHP
RoadRunner
OxPHP
Підтримувані версії PHP
усі
8.2+
8.1+
8.4 і 8.5
Мова
C
Go + C
Go
Rust + C
TLS 1.3
✓
✓
✓
✓ (rustls)
Постійний стан воркерів
—
✓
✓
✓
Протитиск (backpressure) / HTTP 529
вручну
—
—
вбудовано
Метрики Prometheus
плагін
вбудовано (Caddy admin)
вбудований плагін
вбудовано
Структуровані JSON-логи
через log_format
✓
✓
вбудовано
WebSocket-сервер
✓ (проксування)
✓ (проксування)
✓ (плагін centrifuge)
—
Зворотний проксі / upstream
✓ (повнофункціональний)
✓ (Caddy)
—
—
Нативне встановлення (без Docker)
apt/yum/brew/port
brew, статичний бінарник
brew, бінарник
—
Платформи (середовище виконання)
Linux/BSD/Mac
Linux/Mac/Win
Linux/Mac/Win
лише Linux (glibc/musl)
Ліцензія
BSD-2 / PHP License
MIT
MIT
AGPL-3.0
Вік / досвід у продакшені
20+ років
3+ роки
7+ років
<1 року

OxPHP перебуває в активній розробці й поки що не готовий до продакшену — він підходить для ознайомлення, staging-середовищ і ранніх користувачів. Повне порівняння — у документації.