HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelfā™§ 0
← Back to top all-time
roadrunner-server
roadrunner
Go2018–2023
roadrunner-server / roadrunner

roadrunner

🤯 High-performance PHP application server, process manager written in Go and powered with plugins

9Distinct people
9Mentions
1Explicit recommenders
8.5KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

🤯 High-performance PHP application server, process manager written in Go and powered with plugins

GitHub

Where it is used

No documented product use has been verified yet.

What people are saying

I really love Django and Wagtail but I just can’t stop writing Go(lang) code, it’s just so addictive. It’s a pity there aren’t any WSGI servers written in Go that Would allow…

wilsonfiifi used a recommendation phrase. One indexed comment matches. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

No other repository is repeatedly linked in the same discussions.

This week on Hacker News

Nov 7–Nov 14 UTC Ā· Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 1:49:46 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year9 dated mentions

Observed mentions: 2018-10-02 19:01:22 UTC to 2023-11-08 16:39:36 UTC.

012342018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 4 mentions; 2 submissions, 2 comments20182019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 1 mentions; 0 submissions, 1 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 0 mentions; 0 submissions, 0 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 2 mentions; 0 submissions, 2 comments2023

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC422
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC000
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC101
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC000
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC202
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC202

What Hacker News says

9 sources
Hey @kdunglas :) Nice project :) I just wanted to add a few notes: > Roadrunner executes php-cli and connects it to its web server through GRPC; RR communicates with the PHP process via pipes (stdin/out/err) via our protocol (similar to the IP protocol, we also have a tcp/unix-socket options and shared memory is coming soon). The RR server itself then has various options to connect to the world: - gRPC (w/o the need to install the `gRPC-php` extension), HTTP (with a lot of different middleware), HTTPS, fCGI. - Queues: kafka, rabbitmq, sqs, beanstalk, nats (with like priorities and so on) - KV/noSQL: memcached, redis, boltdb, memory. - Workflows: Temporal. I might forget smt, but the main idea is to have a very extensible server. With very little knowledge about Go, you may extend it with your plugins and build your RR binary. Or even em
Read the rest
bed the RR server into your Go application (https://github.com/roadrunner-server/roadrunner/tree/master/...).
In Show HN: FrankenPHP, an app server for PHP written in Go
In typical PHP applications, the entire application is bootstraped, executed and teared down for every request. RoadRunner lets you run "workers" (php processes) that perform all the bootstrapping just once, and then receive-process-reply to requests. The use case is to avoid the (possibly expensive, especially with modern frameworks) bootstrapping for every request. Check the symfony integration example for instance [1]. Everything that's outside of the while ($req = $psr7->acceptRequest()) { ... } is usually run for every request in traditional PHP, whereas here it is only run once when initializing the worker and then that while block reads/executes/replies to each specific request. The problem with this approach is that you now need to be careful not to leave unwanted stuff behind (open files / db connections, static $propertie
Read the rest
s, etc.) that may interfere with future requests, whereas this just isn't possible in "normal" PHP. I would argue that this is one of the features that makes PHP so beginner-friendly. [1] https://github.com/spiral/roadrunner/wiki/Symfony-Framework
In Combining Golang and PHP can solve real-world development challenges
Can anyone dumb this down for me? I don't really understand this use case - is this for PHP developers to eke out some more performance for their web apps? The goridge library (https://github.com/spiral/goridge) makes a little more sense to me; it's a bridge between golang and PHP via RPC. I went through the code (https://github.com/spiral/roadrunner) but it doesn't seem like something you can swap into an existing PHP project. Can anyone explain what use case this might be for?
In Combining Golang and PHP can solve real-world development challenges

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.