Uh oh!
There was an error while loading.Please reload this page.
- Notifications
You must be signed in to change notification settings - Fork419
🤯 High-performance PHP application server, process manager written in Go and powered with plugins
License
roadrunner-server/roadrunner
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
RoadRunner is an open-source (MIT licensed) high-performance PHP application server, process manager written in Go and powered with plugins ❤️.It supports running as a service with the ability to extend its functionality on a per-project basis with plugins.
RoadRunner features a range of plugins, includingHTTP(S)/2/3 andfCGI servers that are compatible with PSR-7/PSR-17 standards. This is just one of its many capabilities. It serves as an effective alternative to the traditional Nginx+FPM setup, providing improved performance and more flexibility. Its extensive plugin options go far beyond justHTTP(S)/2/3 andfCGI servers, offering a broad range of functionalities:
- Queue drivers: RabbitMQ, Kafka, SQS, Beanstalk, NATS, In-Memory.
- KV drivers: Redis, Memcached, BoltDB, In-Memory.
- OpenTelemetry protocol support (
gRPC,http,jaeger). - Workflow engine viaTemporal.
gRPCserver. For increased speed, theprotobufextension can be used.HTTP(S)/2/3andfCGIservers featuresautomatic TLS management,103 Early Hints support and middleware like: Static, Headers, gzip, prometheus (metrics), send (x-sendfile), OTEL, proxy_ip_parser, etc.- Embedded distribute lock plugin which manages access to shared resources.
- Metrics server (you might easily expose your own).
- WebSockets and Broadcast viaCentrifugo server.
- Systemd-like services manager with auto-restarts, execution time limiter, etc.
- Production-ready.
- And more 😉
Join our discord server:Link
Official Website |Documentation |Forum |Release schedule |Ask RoadRunner Guru
The easiest way to get the latest RoadRunner version is to use one of the pre-built release binaries, which are available forOSX, Linux, FreeBSD, and Windows. Instructions for using these binaries are on the GitHubreleases page.
To get the roadrunner binary file you can use our docker image:ghcr.io/roadrunner-server/roadrunner:2025.X.X (more information aboutimage and tags can be foundhere).
FROM ghcr.io/roadrunner-server/roadrunner:2025.X.X AS roadrunnerFROM php:8.3-cliCOPY --from=roadrunner /usr/bin/rr /usr/local/bin/rr# USE THE RR
Configuration located in the.rr.yaml file (full sample):
You can also install RoadRunner automatically using the command shipped with the composer package, run:
composer require spiral/roadrunner-cli./vendor/bin/rr get-binary
Server binary will be available at the root of your project.
Note
PHP's extensions
php-curlandphp-zipare required to download RoadRunner automatically.PHP's extensionsphp-socketsneed to be installed to run roadrunner.Check withphp --modulesyour installed extensions.
wget https://github.com/roadrunner-server/roadrunner/releases/download/v2025.X.X/roadrunner-2025.X.X-linux-amd64.debsudo dpkg -i roadrunner-2025.X.X-linux-amd64.deb
curl --proto'=https' --tlsv1.2 -sSf https://raw.githubusercontent.com/roadrunner-server/roadrunner/master/download-latest.sh| sh
MacOS usingHomebrew:
brew install roadrunner
Windows usingChocolatey:
choco install roadrunner
Configuration can be located in.rr.yaml file (full sample):
version:'3'rpc:listen:tcp://127.0.0.1:6001server:command:"php worker.php"http:address:"0.0.0.0:8080"logs:level:error
Read more inDocumentation.
<?phpuseSpiral\RoadRunner;useNyholm\Psr7;include"vendor/autoload.php";$worker =RoadRunner\Worker::create();$psrFactory =newPsr7\Factory\Psr17Factory();$worker =newRoadRunner\Http\PSR7Worker($worker,$psrFactory,$psrFactory,$psrFactory);while ($req =$worker->waitRequest()) {try {$rsp =newPsr7\Response();$rsp->getBody()->write('Hello world!');$worker->respond($rsp); }catch (\Throwable$e) {$worker->getWorker()->error((string)$e); }}
Important
If you see theEOF error, check that you have installed the PHP packages fromthis step.If this does not help, try to execute the commandphp worker.php directly and check the output.
Available Plugins:link
To run application server:
$ ./rr serve -c .rr.yamlThe MIT License (MIT). Please seeLICENSE for more information. MaintainedbySpiral Scout.
Thanks to all the people who already contributed!
About
🤯 High-performance PHP application server, process manager written in Go and powered with plugins
Topics
Resources
License
Code of conduct
Contributing
Security policy
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Sponsor this project
Uh oh!
There was an error while loading.Please reload this page.
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Uh oh!
There was an error while loading.Please reload this page.