FrankenPHPで実現する、PHPのリアルタイムWeb通信の新アーキテクチャ by ma@me

PHPerKaigi 2026
レギュラートーク(40分)

FrankenPHPで実現する、PHPのリアルタイムWeb通信の新アーキテクチャ

ma_me ma@me ma_me
4

本トークはPHPカンファレンス福岡2025で発表した「Node.jsに頼らずにFrankenPHPでリアルタイムWeb通信を実現する
」(30分)をベースに、動作デモの充実させ、Socket通信やプロセス分離の説明を厚くアップデートしたものです。

概要

従来のPHP環境は1リクエスト1プロセスのモデルであり、長時間接続を維持するソケット通信とは相性が悪く、
リアルタイム通知を実装する場合、Node.js等を組み合わせた複雑なインフラ構成は悩みの種でした。
しかしFrankenPHPの登場で取れる選択肢が増えてきました。
この課題を解決するためにMercureが内蔵されており、PHPスタック内でシンプルかつ高速なリアルタイム通信を実現しています。
本セッションでは実際に動作するアプリケーションの動作デモを交えながら、Socket通信の様子やプロセス分離の様子を可視化し、解説します。

話すこと

  • FrankenPHP (Mercure) を使った実装デモと、PHPスタックのみで完結するメリット
  • PHPにおける常時接続の難しさと、ポーリング等の従来構成の限界
  • Server-Sent Events(SSE) と WebSocketのソケット通信の基礎と違い
  • 通信方向の違いによる技術選定のポイント
  • PHPランタイムと通信プロセスのプロセス分離

話さないこと

  • Mercure(Hub)の技術詳細
  • スケーラビリティ、耐障害性等の非機能要件