Since PHP 8.1 and Fibers, async PHP is seriously usable in 2026.

Options

  • Fibers: low-level primitive.
  • ReactPHP: mature userland event loop.
  • Swoole / OpenSwoole: C extension, raw performance.
  • Laravel Octane: wraps Swoole/FrankenPHP behind familiar API.
  • FrankenPHP: Go-based, HTTP/3, worker mode.

Decision matrix

Laravel perf → Octane. Symfony clean → FrankenPHP. Custom I/O worker → ReactPHP. Real-time → pure Swoole. Regular FPM API that works → don't change.