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.