PHP Foundationは、今後FrankenPHPを直接サポートすることを決定しました。
FrankenPHPは、簡単に言うとPHPの実行環境です。
いま普通にLinuxサーバでPHPを動かそうと思ったら、WebサーバとしてApacheかNginxをインストールして、そこにPHPを連携させて動かす、みたいなことをやる必要があってたいへん面倒です。
FrankenPHPはWebサーバ機能も持っているので、FrankenPHPをインストールすれば即Webサーバを立ち上げることができます。
Nodeだと
ってすればNodeのWebサーバが立ち上がりますが、それと同じように
でPHPのWebサーバが動くということです。
すごいですね。
まあ実のところはCaddyというWebサーバを同梱しているだけみたいですが。
さてこのFrankenPHP、これまではPHP公式とは特に関係ない、Symfonyの開発者のひとりが趣味でやっている野良プロジェクトだったのですが、今回どういう経緯を経てなのか、PHP Foundationが公式にサポートすることになりました。
ということで、今後はWebサーバとしてのApacheやNginxのかわりにFrankenPHPで動かす、みたいなことも増えていくかもしれませんね。
以下はPHP Foundation公式ブログから、FrankenPHP Is Now Officially Supported by The PHP Foundationの紹介です。
Kévin Dunglasが開発し、Les-Tilleuls.coopがスポンサーをしているFrankenPHPが、PHP Foundationの公式サポート対象となりました。
FrankenPHPはGo製のモダンで高性能なアプリケーションサーバであり、Caddyと直接統合することで、導入の簡素化、パフォーマンスの向上、コスト削減を実現します。
高度なホスティングシナリオをサポートし、さらにLaravel・Symfony・Yiiなどのパフォーマンスを向上させるワーカーモードも提供します。
PHP FoundationはFrankenPHPの開発に積極的に関与し、コードをPHP公式GitHubでホストします。
元のメンテナによるガバナンスを維持しながら、PHPエコシステムを近代化する大きな一歩となります。
PHPはWebサイトやWebアプリケーションの約7割で使用されているプログラミング言語です。
FrankenPHPは以下のような機能を提供します。
・PHPアプリケーション開発のシンプル化。
・パフォーマンスの大幅な向上、ホスティングコストの削減。
・ベアメタルサーバ、クラウドネイティブ環境、どこにでも容易に導入できる。
・Mercureプロトコルのサポートによる、リアルタイム機能の開発。
・Go・C・C++で拡張機能を書ける。
・任意のGo実行環境からPHPを呼び出せる。
具体的には、FrankenPHPは公式PHPインタプリタをCaddyのモジュールとして統合しています。
Caddyはパフォーマンス、セキュリティ、DevOpsなどに優れる次世代Webサーバであり、HTTP/3、Zstandard圧縮、103 Early Hints、Encrypted Client Hello、構造化ログ、OpenMetrics/Prometheusメトリクスなど様々な機能をサポートしています。
FrankenPHPは、Go言語を活用したパフォーマンス特化モード、”worker mode”をサポートしています。
このモードでは、PHPアプリケーションはHTTPリクエストを処理するたびにリセットされることなく、次のHTTPリクエストで再利用するためにメモリを保持します。
ワーカーモードは、カーネルやサービスを多く呼び出すSymfonyやLaravelなどのフレームワークで特に有効です。
このモードを利用するには、プログラミングプラクティスに沿って既存のコードに最小限の修正を加える必要があります。
もっともLaravel・Symfony・Yiiは既にワーカーモードに対応しており、アプリケーションコードを変更することなくワーカーモードを実行できます。
Sylius社による分析によると、FrankenPHPのワーカーモードを使用することで、応答時間は80%減少し、現在と同じサービスを提供するために必要なサーバは6割減らすことができました。
FrankenPHPは多くの実運用環境に導入されつつある、信頼性の高い成熟したソリューションです。
GitHubでは8000☆を獲得し、Upsun・Laravel Cloud・Clever Cloudといったホスティングサービスが公式サポートをはじめています。
ここに辿り着くまでには、FrankenPHP開発チームと、PHP言語の開発チーム、そしてCaddyにGo言語の開発チーム間で緊密な連携が必要でした。
この連携をさらに強化し、プロジェクトを加速し、PHPエコシステムの進化を促進するため、FrankenPHPプロジェクトがPHP Foundationの公式サポート対象となったことを、本日発表します。
具体的には、FrankenPHPのソースコードはPHP公式のGitHubに移行され、PHP Foundation開発チームがその保守と開発に貢献していくことになります。
FrankenPHPのドキュメントの一部も、PHP公式ウェブサイトに移行されます。
プロジェクトのガバナンスは変更されません。
現在の開発チーム(Kévin Dunglas・Robert Landers・Alexander Stecher)は、引き続き開発とリリースを担当します。
PHP言語を開発するPHP Foundation開発チームと積極的に協力していきます。
PHP Foundationに加え、Les-Tilleuls.coopも引き続き資金援助と開発者の提供を行い、FrankenPHPを支えていきます。
Caddyからは既に、PHPを使用する最適なソリューションとしてFrankenPHPが推奨されています。
今後は、ワンライナーで全ての環境をインストール可能にするなどPHP開発エクスペリエンスの簡素化を進め、パフォーマンスを追求するソリューションとしてFrankenPHPをPHP公式で紹介していく予定です。
もちろんPHP-FPMなど既存のSAPIも引き続き完全にサポートされます。
FrankenPHPが何なのか、その可能性についてはドキュメントをご覧ください。
本番環境で実際どのように使用されているかを知るには、9月にフランスのLilleで開催されるAPI Platform conferenceにぜひご参加ください。
また6月17日には、PHP30周年記念オンラインイベントPHPverse 2025が開催されます。
最後に、PHPエコシステムの革新を継続するためPHP Foundationへの支援をおねがいします。
ApacheやnginxからFrankenPHPに入れ替えるだけで速度が3倍になるそうです。
PHPは最近単体での高速化も目覚ましいのですが、そのうえさらに早くなるっていったいどうなってるんだ。
まだ発表されたばかりで今後どうなるかまではわかりませんが、FrankenPHPが普及するようであれば、PHPが遅いなんて飛語に惑わされることはきっとなくなるでしょう。
Views: 0