RoadRunner is a high-performance PHP application server developed by Spiral Scout. It serves as a replacement for traditional PHP-FPM (FastCGI Process Manager) and offers a major performance boost by keeping your PHP application running persistently — especially useful with frameworks like Laravel or Symfony.
PHP scripts are not reloaded on every request. Instead, they run continuously in persistent worker processes (similar to Node.js or Swoole).
This eliminates the need to re-bootstrap the framework on every request — resulting in significantly faster response times than with PHP-FPM.
RoadRunner is written in the programming language Go, which provides high concurrency, easy deployment, and great stability.
Native HTTP server (with HTTPS, Gzip, CORS, etc.)
PSR-7 and PSR-15 middleware support
Supports:
Hot reload support with a watch plugin
RoadRunner starts PHP worker processes.
These workers load your full framework bootstrap once.
Incoming HTTP or gRPC requests are forwarded to the PHP workers.
The response is returned through the Go layer — fast and concurrent.
Laravel + RoadRunner (instead of Laravel + PHP-FPM)
High-traffic applications and APIs
Microservices
Real-time apps (e.g., using WebSockets)
Low-latency, serverless-like services
Feature | PHP-FPM | RoadRunner |
---|---|---|
Bootstraps per request | Yes | No (persistent workers) |
Speed | Good | Excellent |
WebSocket support | No | Yes |
gRPC support | No | Yes |
Language | C | Go |