Repolode
php

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

    HomebrewでFrankenPHPをインストールする

    brew install dunglas/frankenphp/frankenphp
  2. 2

    現在のディレクトリをサーブする

    frankenphp php-server
  3. 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 の数値は毎日更新されます。

関連プロジェクト