whatisgithub

What is frankenphp?

php/frankenphp — explained in plain English

Analysis updated 2026-06-24

11,065GoAudience · developerComplexity · 3/5Setup · easy

In one sentence

FrankenPHP replaces Nginx and PHP-FPM with a single binary that serves PHP apps with automatic HTTPS, HTTP/2, and a worker mode that keeps Laravel or Symfony loaded in memory between requests.

Mindmap

mindmap
  root((frankenphp))
    What it replaces
      Nginx
      PHP-FPM
      Manual config
    Key features
      Automatic HTTPS
      HTTP2 and HTTP3
      Worker mode
    Supported frameworks
      Laravel
      Symfony
      WordPress
    Installation
      Single binary
      Docker image
      Package managers
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Replace a Nginx and PHP-FPM setup with one binary to simplify your server configuration.

USE CASE 2

Speed up a Laravel or Symfony app using worker mode that keeps the app in memory between requests.

USE CASE 3

Deploy WordPress or Drupal with automatic HTTPS using FrankenPHP on Linux, macOS, or Windows.

USE CASE 4

Embed PHP execution inside a Go application by using FrankenPHP as a Go library.

What is it built with?

GoPHP

How does it compare?

php/frankenphpblevesearch/blevebufbuild/buf
Stars11,06511,03111,111
LanguageGoGoGo
Setup difficultyeasymoderatemoderate
Complexity3/53/53/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

So what is it?

FrankenPHP is an application server for PHP, the programming language used to build websites like WordPress, Laravel apps, and Symfony projects. Most PHP setups require multiple separate pieces working together: a web server like Nginx, a PHP processor called PHP-FPM, and manual configuration to connect them. FrankenPHP replaces that entire stack with a single binary. It is built on top of Caddy, a web server written in Go that handles HTTPS certificates automatically. Because of this, FrankenPHP provides automatic HTTPS right out of the box, along with support for HTTP/2 and HTTP/3, which are newer and faster versions of the web protocol. It also supports a worker mode that keeps your PHP application loaded in memory between requests, which can significantly speed up frameworks like Laravel and Symfony that normally reload from scratch on every request. You can install FrankenPHP as a standalone binary on Linux, macOS, or Windows, and it comes bundled with PHP 8.5 and the most commonly used PHP extensions. No separate PHP installation is required on Linux. Package manager options (apt, dnf, apk, Homebrew) are available, as are Docker images. To start serving a PHP project, you run a single command in your project folder. For existing projects built on Symfony, Laravel, WordPress, Drupal, Joomla, or Magento, there are integration guides covering how to switch from a traditional Nginx and PHP-FPM setup. FrankenPHP can also function as a Go library, meaning developers who build applications in Go can embed PHP directly into their programs.

Copy-paste prompts

Prompt 1
Migrate my Laravel app from a Nginx and PHP-FPM setup to FrankenPHP worker mode, show me the Caddyfile config and startup commands.
Prompt 2
Write a Dockerfile that uses FrankenPHP to serve a WordPress site with automatic HTTPS and PHP 8.5.
Prompt 3
How do I install FrankenPHP on Ubuntu using apt and serve a Symfony project in worker mode from day one?
Prompt 4
Show me how to embed PHP execution inside a Go program using FrankenPHP as a Go library with a minimal working example.

Frequently asked questions

What is frankenphp?

FrankenPHP replaces Nginx and PHP-FPM with a single binary that serves PHP apps with automatic HTTPS, HTTP/2, and a worker mode that keeps Laravel or Symfony loaded in memory between requests.

What language is frankenphp written in?

Mainly Go. The stack also includes Go, PHP.

How hard is frankenphp to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is frankenphp for?

Mainly developer.

Open on GitHub → Ask about another repo

This repo across BitVibe Labs

Verify against the repo before relying on details.