FrankenPHP
Infrastructure
application server
SHOW HN2022
How HN took it
10 positive, 32 neutral or asking, 1 mixed, 6 critical, out of 49 comments about the project. Thread score +0.09.
Idea: 4 for, 2 againstPerformance: 2 for, 2 againstExecution: 1 for, 2 againstDesign: 1 for, 0 against
The thread, comment by comment
Each row is a top-level comment and its replies, in HN's order. Select a cell to open that comment on HN.
positive neutral or mixed critical about another commenter or something else the maker
What HN said
What people liked
Simpler stack than nginx plus php-fpm in containers
From 2 comments
Removing php-fpm + nginx from a container sounds AMAZING to me. If I can just have one thing in a container (plus a code base), that would be a LOT simpler than: nginx, php-fpm,…
fideloper on HNWith this you don't need FastCGI. FrankenPHP is simpler and less complex: just run it directly from your Caddy web server.
mholt on HN
Worker mode lowers latency versus php-fpm
From 2 comments
FrankenPHP will perform better than php-fpm though, in worker mode, because it doesn't need to bootstrap fully on every request. In the conference slides, Kevin showed php-fpm…
francislavoie on HNThere's really not much to manage. It's not in any way a challenge, especially if you ship it as a Docker container. It's true it's probably not for everyone though; the worker…
francislavoie on HN
Early Hints support
From 2 comments
There's really not much to manage. It's not in any way a challenge, especially if you ship it as a Docker container. It's true it's probably not for everyone though; the worker…
francislavoie on HNEarly Hints support was added to Caddy's proxy by Kevin Dunglas, the author of FrankenPHP. No fork required for Early Hints!
mholt on HN
Objections
Worker mode needs apps that reset state; legacy apps may break
From 2 comments
Just some experiences I've had putting large PHP frameworks into strange spaces: 1. Most PHP frameworks are designed to have all state destroyed at the end of a request. I was…
bdg on HNThere's really not much to manage. It's not in any way a challenge, especially if you ship it as a Docker container. It's true it's probably not for everyone though; the worker…
francislavoie on HN
Requires building a custom binary instead of standard releases
From 2 comments
Hard to think this method takes off as people are reluctant to run their own binary that can't be updated with the rest of the system which in turn gives less users to report…
mekster on HNCaddy plug-ins are statically compiled into the server. Generally you need to build your own binaries if you’re using plugins. There’s an official script, xcaddy, to make that…
mcpherrinm on HN
Experimental and not ready for production
From 1 comment
The approach isn't the same: Roadrunner executes php-cli and connects it to its web server through GRPC; FrankenPHP uses an ad-hoc SAPI, it is more like Apache's mod_php, the Go…
kdunglas on HN
Needs Docker or a C toolchain to build
From 2 comments
typically I find CMake would do this, or Make, to verify dependencies. Coupled with a packaging system, like debian gives you, this is all pretty straightforward. I ran into this…
calvinmorrison on HNWhen do things ever "just compile"? I assume the Docker image is because this is a pre-alpha and the docker image ensures that no one needs to go through hours of…
TheRealPomax on HN
Requests
Benchmarks against mod_php, php-fpm and Swoole
From 1 comment
Not really sure what the pros of this is. Simple to deploy in a docker image? Didn't know that was an issue. I guess performance also takes a hit, and that worker mode is a good…
NorwegianDude on HN
Laravel performance results
From 1 comment
It'd be great to see how a Laravel app could run on FrankenPHP and see if there are speed gains. My current setup is a DigitalOcean Droplet with Nginx and php-fpm.
nonoesp on HN
Questions
How does it differ from RoadRunner
From 1 comment
What is the difference between this and Roadrunner? It seems to do the same stuff. https://github.com/roadrunner-server/roadrunner
abrztam on HN
How it keeps code in memory across requests
From 1 comment
So after looking at the slidedeck on the authors blog, I'm rather confused. How does FrankenPHP keep the code in memory if each request is in a separate memory space?
timw4mail on HN
Whether WordPress runs on it
From 1 comment
Since it's not using PSR-7, does it mean that you could even run WordPress?
bogdanu on HN
Alternatives named
RoadRunner
From 2 comments
What is the difference between this and Roadrunner? It seems to do the same stuff. https://github.com/roadrunner-server/roadrunner
abrztam on HNI've been watching how Go and Rust tooling has been finding its way into the JavaScript ecosystem. I've been out of the PHP realm for about 10 years but I did find RoadRunner for…
nobleach on HN
Swoole
From 1 comment
Not really sure what the pros of this is. Simple to deploy in a docker image? Didn't know that was an issue. I guess performance also takes a hit, and that worker mode is a good…
NorwegianDude on HN
PHP-FPM with nginx or Caddy
From 1 comment
I might be missing the obvious but why would you add extra complexity to your infrastrucutre setup when PHP can be run natively from within caddy, apache, nginx via fastcgi.
tiffanyh on HN
LiteSpeed PHP LSAPI
From 1 comment
Good. PHP-FPM needs a challenger as anyone who has tried to debug it or its pools knows. Or to tune it (so many modes, so many configuration options). Litespeed's PHP LSAPI [1]…
pbowyer on HN