RoadRunner: High-performance PHP application server and process manager written in Go and powered with plugins

Fund package maintenance!

Installs: 2 336 322

Dependents: 81

Suggesters: 1

Security: 0

Stars: 7 185

Watchers: 152

Forks: 391

Open Issues: 42



v2023.1.4 2023-05-25 10:57 UTC

This package is auto-updated.

Last update: 2023-06-06 07:03:33 UTC



68747470733a2f2f706f7365722e707567782e6f72672f73706972616c2f726f616472756e6e65722f76657273696f6e 68747470733a2f2f676f646f632e6f72672f6769746875622e636f6d2f726f616472756e6e65722d7365727665722f726f616472756e6e65722f76323032333f7374617475732e737667 68747470733a2f2f696d672e736869656c64732e696f2f747769747465722f666f6c6c6f772f73706972616c7068703f7374796c653d736f6369616c 68747470733a2f2f636f6465636f762e696f2f67682f726f616472756e6e65722d7365727665722f726f616472756e6e65722f6272616e63682f6d61737465722f67726170682f62616467652e737667 68747470733a2f2f636f6465636f762e696f2f67682f726f616472756e6e65722d7365727665722f72722d6532652d74657374732f6272616e63682f6d61737465722f67726170682f62616467652e737667 68747470733a2f2f676f7265706f7274636172642e636f6d2f62616467652f6769746875622e636f6d2f726f616472756e6e65722d7365727665722f726f616472756e6e65722f7632 68747470733a2f2f696d672e736869656c64732e696f2f62616467652f646973636f72642d636861742d6d6167656e74612e737667 68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64642f73706972616c2f726f616472756e6e65723f7374796c653d666c61742d737175617265 All releases

RoadRunner is an open-source (MIT licensed) high-performance PHP application server, load balancer, and process manager. It supports running as a service with the ability to extend its functionality on a per-project basis.

RoadRunner includes PSR-7/PSR-17 compatible HTTP and HTTP/2 server and can be used to replace classic Nginx+FPM setup with much greater performance and flexibility.

Join our discord server: Link

Official Website | Documentation | Forum | Release schedule


  • Production-ready
  • PCI DSS compliant (HTTP plugin)
  • PSR-7 HTTP server (file uploads, error handling, static files, hot reload, middleware, event listeners)
  • HTTPS and HTTP/2 support (including HTTP/2 Push, H2C)
  • A Fully customizable http(s)/2 server
  • FastCGI support (HTTP plugin)
  • Flexible environment configuration
  • No external PHP dependencies (64bit version required)
  • Integrated metrics (Prometheus)
  • Workflow engine by Temporal.io
  • Works over TCP, UNIX sockets and process pipes
  • Automatic worker replacement, graceful and safe PHP process destruction
  • Worker create/allocate/destroy timeouts
  • Max requests per worker limitation
  • Worker lifecycle management (controller)
    • max_memory (graceful stop)
    • ttl (graceful stop)
    • idle_ttl (graceful stop)
    • exec_tll (brute, max_execution_time)
  • Protocol, worker and job level error management (including PHP errors)
  • Development Mode
  • Integrations with Symfony, Laravel, Slim, CakePHP, Zend Expressive
  • Application server for Spiral
  • Works on Windows 10/11 and WSL2


The easiest way to get the latest RoadRunner version is to use one of the pre-built release binaries, which are available for OSX, Linux, FreeBSD, and Windows. Instructions for using these binaries are on the GitHub releases page.


To get the roadrunner binary file you can use our docker image: ghcr.io/roadrunner-server/roadrunner:2023.X.X (more information about image and tags can be found here).

FROM ghcr.io/roadrunner-server/roadrunner:2023.X.X AS roadrunner
FROM php:8.2-cli

COPY --from=roadrunner /usr/bin/rr /usr/local/bin/rr


Configuration located in the .rr.yaml file (full sample):

Installation via Composer

You can also install RoadRunner automatically using command shipped with the composer package, run:

composer require spiral/roadrunner-http nyholm/psr7
./vendor/bin/rr get-binary

Server binary will be available at the root of your project.


PHP's extensions php-curl and php-zip are required to download RoadRunner automatically. PHP's extensions php-sockets need to be installed to run roadrunner. Check with php --modules your installed extensions.

Installation option for the Debian-derivatives (Ubuntu, Mint, MX, etc)

wget https://github.com/roadrunner-server/roadrunner/releases/download/v2023.X.X/roadrunner-2023.X.X-linux-amd64.deb
sudo dpkg -i roadrunner-2023.X.X-linux-amd64.deb

Dowload the latest release via curl:

curl --proto '=https' --tlsv1.2 -sSf  https://raw.githubusercontent.com/roadrunner-server/roadrunner/master/download-latest.sh | sh

Configuration can be located in .rr.yaml file (full sample):

version: '3'

  listen: tcp://

  command: "php worker.php"

  address: ""

  level: error

Read more in Documentation.

Example Worker:


use Spiral\RoadRunner;
use Nyholm\Psr7;

include "vendor/autoload.php";

$worker = RoadRunner\Worker::create();
$psrFactory = new Psr7\Factory\Psr17Factory();

$worker = new RoadRunner\Http\PSR7Worker($worker, $psrFactory, $psrFactory, $psrFactory);

while ($req = $worker->waitRequest()) {
    try {
        $rsp = new Psr7\Response();
        $rsp->getBody()->write('Hello world!');

    } catch (\Throwable $e) {

Available Plugins: link


To run application server:

$ ./rr serve -c .rr.yaml


The MIT License (MIT). Please see LICENSE for more information. Maintained by Spiral Scout.


Thanks to all the people who already contributed!