CaddyはGo製の拡張可能なWebサーバーで、HTTP/1.1、HTTP/2、HTTP/3を提供し、デフォルトでHTTPSを自動的に有効化します。
php/frankenphp
Caddyをベースに構築されたモダンなPHPアプリケーションサーバー。ワーカーモード、Early Hints、HTTP/3、自動HTTPSに対応。
- スター
- 11,441
- フォーク
- 498
- 未解決の Issue
- 117
- 最終コミット
- 11 時間前
これは何?
FrankenPHPは、Goで書かれ、Caddy web serverをベースに構築されたPHP向けアプリケーションサーバーです。あらゆるPHPアプリケーションを実行でき、リクエスト間もアプリケーションをメモリ上に保持するワーカーモードに加え、Early Hints、Mercureによるリアルタイム通信、ホットリロードを利用できます。自動HTTPS、HTTP/2、HTTP/3も備えています。
Linux、macOS(Apple Silicon)、Windows向けのスタンドアロンバイナリとして提供されており、rpm、deb、apkパッケージのほか、HomebrewやDockerイメージも利用できます。LaravelとSymfonyには、ワーカーモードの公式連携機能があります。また、net/httpを使うアプリケーションにPHPを組み込むためのGoライブラリとしても利用できます。
`frankenphp php-server`でディレクトリを配信したり、`frankenphp php-cli`でスクリプトを実行したりするコマンドを提供します。自己完結型のPHPアプリや静的バイナリの作成にも対応し、GoでPHP拡張機能を開発することもできます。
主な機能
- 01ワーカーモードにより、リクエスト間もアプリケーションをメモリ上に保持します。
- 02Early Hints(ステータスコード103)とHTTP/2、HTTP/3に対応します。
- 03自動HTTPSと、Mercureによるリアルタイム機能を備えています。
- 04開発中のホットリロードに対応します。
- 05スタンドアロンバイナリ、システムパッケージ、Dockerイメージを提供します。
ユースケース
- LaravelやSymfonyのアプリケーションをワーカーモードで実行し、スループットを向上させる。
- NginxとPHP-FPMの構成を単一のサーバーバイナリに置き換える。
- net/httpを使ってGoサービスにPHPを組み込む。
- PHPアプリケーションを自己実行型バイナリとしてパッケージ化する。
クイックスタート
- 1
HomebrewでFrankenPHPをインストールする
brew install dunglas/frankenphp/frankenphp - 2
現在のディレクトリをサーブする
frankenphp php-server - 3
ブラウザーでhttps://localhostを開き、自己署名証明書を承認する
使う前に知っておきたいこと
- スタンドアロンのmacOSバイナリはApple Siliconのみをサポートしています。
- ローカルHTTPSでは自己署名証明書が使用されるため、手動で承認する必要があります。
トピック
よくある質問
- frankenphp とは?
- Caddyをベースに構築されたモダンなPHPアプリケーションサーバー。ワーカーモード、Early Hints、HTTP/3、自動HTTPSに対応。 FrankenPHPは、Goで書かれ、Caddy web serverをベースに構築されたPHP向けアプリケーションサーバーです。あらゆるPHPアプリケーションを実行でき、リクエスト間もアプリケーションをメモリ上に保持するワーカーモードに加え、Early Hints、Mercureによるリアルタイム通信、ホットリロードを利用できます。自動HTTPS、HTTP/2、HTTP/3も備えています。
- frankenphp は無料で使えますか?ライセンスは?
- frankenphp は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- frankenphp は今もメンテナンスされていますか?
- 活発にメンテナンス中。frankenphp の最終コミットは 2026年10月21日 です。
- frankenphp は何に使えますか?
- LaravelやSymfonyのアプリケーションをワーカーモードで実行し、スループットを向上させる。 NginxとPHP-FPMの構成を単一のサーバーバイナリに置き換える。 net/httpを使ってGoサービスにPHPを組み込む。 PHPアプリケーションを自己実行型バイナリとしてパッケージ化する。
- frankenphp のインストール方法は?
- HomebrewでFrankenPHPをインストールする: brew install dunglas/frankenphp/frankenphp 現在のディレクトリをサーブする: frankenphp php-server ブラウザーでhttps://localhostを開き、自己署名証明書を承認する
- frankenphp はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/php/frankenphp
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
Cで書かれた、高性能なWebサーバー、リバースプロキシ、ロードバランサー、APIゲートウェイ、コンテンツキャッシュ。
Go標準のnet/httpを基盤とする、高速で軽量なWebフレームワーク。
V8、Rust、Tokioを基盤とする、セキュアなデフォルト設定を備えたJavaScript、TypeScript、WebAssemblyランタイム。
接続の再利用、HTTP/2、デフォルトのレスポンスキャッシュに対応した、JVM・Android・GraalVM向けHTTPクライアントです。
Traefik、Nginx、Caddyのミドルウェア、または単体のSSOログインサーバーとして動作する、小規模な認証・認可サーバー。