v0.10.0評価プレビュー版

クラウドネイティブ基盤向けのマルチスレッド PHP アプリケーションサーバー

nginx + PHP-FPM のドロップイン代替——リクエストの合間もアプリを起動したまま保つ単一の Rust バイナリで、低レイテンシ・高い並行処理・組み込みのメトリクスとトレーシングを実現します。

クイックスタート

Dockerfile のわずか 2 行

アプリケーションをイメージにコピーして実行するだけです。TLS、圧縮、レート制限、メトリクス、ヘルスチェック、構造化ログはすべて環境変数で設定できます。

完全なクイックスタートガイド →
Dockerfile
FROM ghcr.io/oxphp/oxphp:0.10.0 COPY --chown=www-data:www-data . /var/www/html/public
$ docker build -t my-app . && docker run -p 80:80 my-app
機能

1 つのバイナリでスタック全体を置き換え

すべての機能 →
01
ワーカーモード

常駐する PHP プロセスがリクエストをまたいで生き続けます——オートローダー、コンテナ、DB 接続の初期化は一度だけです。

02
ファイバー多重化

各ワーカーは PHP 8.4 のファイバーを使って複数の並行リクエストを処理します。sleep や await はブロックする代わりに制御を譲ります。

03
非同期 Promise

await、race、any といったプリミティブを使って、専用のスレッドプールにクロージャをディスパッチします——真の並列実行です。

04
共有状態

カウンター、アトミック、チャネル、マップ、プールをワーカー間で共有します——Redis への往復は不要で、マイクロ秒単位の操作です。

05
設定不要の可観測性

Prometheus メトリクス、OpenTelemetry トレース、PDO・cURL・Redis の APM 自動計装——コードの変更は一切不要です。

06
組み込みプロファイラー

リクエストごとのプロファイルを xhprof、speedscope、pprof、FlameGraph の各形式で取得できます——ヘッダー、cookie、サンプリングでトリガーできます。

なぜ OxPHP なのか

代替製品との比較

nginx+FPM
FrankenPHP
RoadRunner
OxPHP
対応する PHP バージョン
8.2–8.5
8.2–8.5
8.1–8.5
8.4 と 8.5
言語
C
Go + C
Go
Rust + C
TLS 1.3
✓ (rustls)
ワーカー状態の永続化
バックプレッシャー / 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 環境、アーリーアダプターには対応しています。完全な比較はドキュメントをご覧ください。