Open Source Alternatives
  • Alternatives
  • Categories
    Categories by size966 projects
    • Developer Tools499
    • AI & Machine Learning429
    • Business & Productivity215
    • Web Development202
    • Security & Monitoring145
    • IT Management131
    • Communication & Collaboration130
    • Cloud & Hosting115
    • LLMOps & AI Tooling110
    • Data & Analytics108
    Browse all 21 categoriesDesign & Creative, Product & Project Management and 9 more
  • Blog
  • Advertise
SearchNotion, Slack, password manager.../
Submit
Open Source Alternatives
  • Alternatives
    • Developer Tools499
    • AI & Machine Learning429
    • Business & Productivity215
    • Web Development202
    • Security & Monitoring145
    • IT Management131
    • Browse all 21 categories
  • Blog
  • Advertise
Submit your project

New open source projects by email

The projects we add and every new guide. Free, unsubscribe any time.

Open Source Alternatives LogoOpen Source Alternatives

Handpicked Open Source Alternatives to Paid Softwares

Product

  • Categories
  • Tag
  • Advertise

Resources

  • Blog
  • Collection
  • Submit

Company

  • Privacy Policy
  • Terms of Service
  • Refund Policy
  • Sitemap

Alternatives

  • Claude Code
  • Jira
  • Notion
  • Slack
  • Linear
  • Wispr Flow
  • All alternatives
© 2026 Open Source Alternatives. All rights reserved.
Open SourceAlternatives
Home/Categories/Backend Development/Frankenphp
icon of Frankenphp

Frankenphp

Open source alternative to LiteSpeed Web Server

  • 11.5K stars
  • MIT
  • Active this week
  • Last commit today

Last verified Oct 31, 2026

Serve PHP applications with automatic HTTPS, HTTP/3, and worker mode using a single Go binary built on Caddy, with no PHP-FPM required.

Visit websiteGitHub11.5K starsDeploy on Hostinger
image of Frankenphp
TL;DR

Frankenphp is a PHP application server built on the Caddy web server that replaces the traditional Nginx and PHP-FPM stack with a single Go binary. It handles automatic HTTPS, HTTP/2, HTTP/3, worker mode, and real-time capabilities without requiring PHP-FPM or a separate web server. MIT-licensed and deployable via Docker, standalone binary, Homebrew, or package manager, it is best suited for PHP developers working with Symfony, API Platform, or Laravel who want production-grade serving with fewer services to manage.

Read the full breakdownHide the full breakdownWho it is for, how it works, trade-offs, the quick start and the FAQ
who it's for

Who Frankenphp is for#

PHP teams migrating from Nginx and PHP-FPM

Teams running a traditional Nginx plus PHP-FPM stack who want to reduce the number of services they operate will find FrankenPHP a direct replacement. Its classic mode serves PHP files without requiring worker-mode changes, making migration incremental. A migration guide from Nginx and PHP-FPM is available in the official docs.

Skip if:

Teams with complex Nginx configurations, custom modules, or mod_rewrite rules that do not map directly to Caddy will need significant migration testing before switching.

Laravel and Symfony developers optimizing throughput

Developers running Laravel or Symfony in high-traffic environments can enable worker mode through the official framework integrations. FrankenPHP's benchmarks show approximately 3.5x throughput improvement over PHP-FPM on API Platform. Both Laravel and Symfony have first-party documentation for the worker-mode setup.

Skip if:

Applications that rely on per-request process isolation or PHP extensions with known worker-mode incompatibilities should verify compatibility before production deployment.

Teams deploying PHP to Kubernetes or cloud-native infrastructure

FrankenPHP ships as a Docker image compatible with Kubernetes and all major cloud platforms. A single container image replaces the multi-container setups that pair Nginx with a PHP-FPM sidecar. PHP applications can also be compiled into standalone static binaries for environments where a container is too heavy.

Skip if:

Teams using managed PHP hosting where they cannot control the web server layer, such as shared hosting or platform-as-a-service environments with a fixed PHP stack.

Go developers embedding PHP in Go applications

FrankenPHP can be used as a Go library, allowing developers to embed the PHP interpreter directly in any Go application using the standard net/http interface. This opens a path for Go backends that need to call PHP code directly without a separate PHP-FPM process.

Skip if:

Teams that only need PHP as a standalone web application and do not need PHP-Go interoperability.

the problem

The problem it solves#

Running a PHP application in production means operating multiple independent components: a web server such as Nginx or Apache, PHP-FPM and its process pools, a process manager, and a separate HTTPS renewal daemon. Each component has its own configuration, restart behavior, and failure mode. When one misbehaves, diagnosing the interaction between them takes time.

PHP's request-per-process model adds overhead at scale. Every request bootstraps the full framework, including autoloading, dependency injection container setup, and configuration parsing. At high traffic, that startup cost accumulates and becomes a significant fraction of total response time. Partial mitigations such as opcode caching and preloading help, but they do not eliminate framework initialization overhead.

how Frankenphp solves it

How it solves it#

Worker Mode for Persistent Application State

FrankenPHP's worker mode boots the PHP application once and keeps it in memory, ready to handle incoming requests in milliseconds. According to FrankenPHP's benchmarks, this delivers approximately 3.5x more throughput than standard PHP-FPM on API Platform applications. Symfony, API Platform, and Laravel all have official worker-mode integrations.

Automatic HTTPS with HTTP/2 and HTTP/3 Support

FrankenPHP automatically generates and renews TLS certificates via Let's Encrypt or ZeroSSL without any additional configuration. It natively supports HTTP/1.1, HTTP/2, and HTTP/3 (QUIC), serving traffic over all three protocol versions from the same binary.

103 Early Hints for Faster Page Load

FrankenPHP is the only PHP SAPI with native support for the 103 Early Hints HTTP status code, according to its own documentation. Early Hints allow the browser to start loading linked resources before the server finishes generating the full response. FrankenPHP's website states this can improve page load times by up to 30%.

Built-in Mercure Hub for Real-Time Events

FrankenPHP ships with a built-in Mercure hub that lets PHP applications push events to connected browsers without a separate WebSocket server. Connected browsers receive the payload as a JavaScript event the moment the PHP application sends it.

Single Binary with Cloud-Native Docker Images

FrankenPHP ships as a statically linked binary for Linux, a self-contained binary for macOS, and Windows archives. It is also available as a Docker image compatible with Kubernetes and all modern cloud platforms. PHP applications can be compiled into standalone, self-executable static binaries with no runtime dependency on a separate PHP installation.

Built-in Prometheus Metrics and Structured Logging

FrankenPHP exposes Prometheus-compatible metrics and supports distributed tracing without any additional plugin or sidecar. Its structured logging formats log output for machine-readable ingestion, with no external tooling required.

strengths · trade-offs

Strengths and trade-offs#

Strengths

  • Replaces the Entire Nginx and PHP-FPM StackFrankenPHP acts as its own PHP SAPI and bundles everything the traditional Nginx plus PHP-FPM stack provides: HTTP serving, TLS, compression, and PHP execution. Running one binary or one Docker container replaces what previously required multiple coordinated services. The README notes it does not need PHP-FPM and relies instead on its own SAPI built specifically for Go web servers.
  • MIT License with No Per-Server FeesFrankenPHP is released under the MIT license, meaning it can be run on any number of servers, in any commercial context, without licensing costs. Unlike LiteSpeed Web Server, which requires a paid commercial license for production use, FrankenPHP's entire feature set is available at no cost.
  • Official Framework IntegrationsSymfony, API Platform, and Laravel all officially support FrankenPHP's worker mode. Worker-mode performance benefits are available through documented, supported paths rather than custom patches. The README names these three frameworks explicitly as having official integrations.
  • Active Development Since 2022Created in March 2022, FrankenPHP has accumulated 11,502 GitHub stars and 507 forks. The repository received its most recent commit on October 30, 2026, reflecting continuous active development. Official integrations with three major PHP frameworks confirm ongoing investment in the project's ecosystem.

Trade-offs

  • -Worker Mode Requires Application Compatibility ChecksWorker mode requires that applications handle state safely between requests, since the process stays in memory rather than restarting. Applications that rely on global mutable state, per-request file includes, or certain PHP extensions that assume a fresh process may need modifications before they work correctly in worker mode. FrankenPHP's documentation includes a known issues page that lists compatibility considerations.
  • -Own SAPI Is Not a Drop-in for All PHP StacksFrankenPHP replaces PHP-FPM with its own SAPI implementation. While most PHP extensions and popular frameworks work correctly, setups that depend on PHP-FPM-specific behaviors or uncommon SAPI features may require testing before migration.
  • -Caddy Configuration Required for Advanced SetupsFrankenPHP inherits Caddy's configuration model, which differs from Nginx and Apache. Teams familiar with traditional PHP hosting setups will need to learn Caddyfile syntax or the JSON API for anything beyond the basic three-line configuration. The migration guide covers common Nginx and PHP-FPM configurations, but complex setups require reviewing Caddy's documentation as well.
versus alternatives

Frankenphp vs alternatives#

FrankenPHP vs LiteSpeed Web Server

FrankenPHP and LiteSpeed Web Server both serve PHP applications with HTTP/3 support, but they differ in licensing model, architecture, and PHP execution strategy. LiteSpeed Web Server is a proprietary web server sold under a commercial license that replaces Apache as the HTTP layer; PHP-FPM still handles PHP execution. FrankenPHP is MIT-licensed and implements its own PHP SAPI, eliminating PHP-FPM entirely.

FeatureFrankenPHPLiteSpeed Web Server
LicenseMITProprietary
Self-hostingYesYes, with paid license
PHP-FPM requiredNoYes
HTTP/3 supportYesYes
Worker modeBuilt-inVia LSCache plugin
Automatic HTTPSYes (Let's Encrypt/ZeroSSL)Requires separate configuration
Docker-nativeYesYes
PricingFreeCommercial license required

FrankenPHP is the better choice for teams who want a self-hosted PHP stack with no licensing cost and a modern protocol stack including HTTP/3, 103 Early Hints, and Prometheus metrics. Its official Symfony, API Platform, and Laravel integrations provide a clear migration path, and its single-binary deployment model reduces operational overhead compared to a multi-service stack.

LiteSpeed Web Server may be the better fit for teams with existing Apache and .htaccess configurations that need a drop-in replacement with commercial support, or for hosting providers already invested in LiteSpeed's caching ecosystem. LiteSpeed has a longer deployment history in shared hosting environments and offers commercial support contracts that FrankenPHP does not.

install · quick start

Quick start#

bash
Install FrankenPHP with the official install script on Linux or macOS, or deploy it via Docker.

```bash
curl https://frankenphp.dev/install.sh | sh
```

On Windows PowerShell:

```powershell
irm https://frankenphp.dev/install.ps1 | iex
```

Via Docker:

```bash
docker run -v .:/app/public -p 80:80 -p 443:443 -p 443:443/udp dunglas/frankenphp
```
tech stack · detected from GitHub

What it's built on#

Languages
CGoPHP
frequently asked

FAQ#

Does FrankenPHP replace PHP-FPM?

Yes. FrankenPHP implements its own PHP SAPI designed specifically for Go web servers, so it does not require PHP-FPM at all. The binary handles PHP execution, HTTP serving, and TLS together in a single process.

Can FrankenPHP run existing Laravel or Symfony applications without changes?

FrankenPHP's classic mode serves PHP files the way traditional servers do, so most existing applications run without modification. Enabling worker mode for the performance benefits does require following the framework's worker-mode integration guide, and applications that rely on global mutable state between requests may need adjustments.

How do I run FrankenPHP with Docker?

Run docker run -v .:/app/public -p 80:80 -p 443:443 -p 443:443/udp dunglas/frankenphp, mounting your PHP application's public directory to /app/public. The container handles HTTP serving, automatic HTTPS certificate provisioning, and PHP execution without any additional configuration. Go to https://localhost after the container starts.

What is 103 Early Hints and why does it matter?

103 Early Hints is an HTTP status code that lets the server tell the browser which resources to start loading before the full response is ready. FrankenPHP is the only PHP SAPI that supports it natively, according to its documentation. FrankenPHP's website cites a potential page load time improvement of up to 30% for applications that use it.

Is FrankenPHP production-ready?

FrankenPHP is in active production use and is officially supported by Symfony, API Platform, and Laravel. The GitHub repository had 11,502 stars and its most recent commit was October 30, 2026. The project lists known issues in its documentation that users should review for their specific setup before deploying to production.

also worth a look

Similar open-source tools#

FckSignups

InCustomer Support

Open-source tools that work instantly, no signup required

  • 4,531 GitHub stars
  • GPL-3.0Licence GPL-3.0

openship

Alternative toHeroku

Self-hosted deployment platform with built-in CI/CD

  • 14,977 GitHub stars
  • Apache-2.0Licence Apache-2.0

Void Cloud

Alternative toVercel

Full-stack Vite toolkit with one-command Cloudflare deployment

  • 616 GitHub stars
  • MITLicence MIT

Firebase Ios Sdk

Alternative toAWS Amplify

Open source Apple SDK for Firebase auth, data, push and crashes

  • 6,977 GitHub stars
  • Apache-2.0Licence Apache-2.0

fmt

InCustomer Support

Fast, type-safe C++ formatting that replaces printf and iostreams

  • 25,895 GitHub stars
  • MITLicence MIT

meshery

Alternative toPortainer Business

Manage your Kubernetes and cloud native infrastructure

  • 12,082 GitHub stars
  • Apache-2.0Licence Apache-2.0
by category

Open source tools in these categories#

72

Backend Development

dify, graphify, Rust
202

Web Development

freeCodeCamp, superpowers, Skills for Real Engineers
97

DevOps & CI/CD

Nvm, Uptime Kuma, Netdata
115

Cloud & Hosting

RuView, dify, rtk
Hostinger

Self-host Frankenphp on a Hostinger VPS

Keep it running 24/7, even when your laptop is off. A Hostinger VPS gives it a server of its own.

  1. 01

    Choose a plan

    Starts from $6.49/mo

  2. 02

    Apply

    Extra 10% off yearly plans

  3. 03

    Install Frankenphp

    On a server that stays on

  4. 04

    Start building

    Focus on the app, not the server

Deploy on Hostinger

Sponsors

Inbox Zero

Alternative toSuperhuman

AI email assistant that drafts replies and clears your inbox

  • 12,855 GitHub stars
  • AGPL-3.0Licence AGPL-3.0
  • #Email

Omnara

Alternative toCClaude Managed Agents

Open-source agent deployment API. Self-host or use Omnara Cloud.

  • 3,325 GitHub stars
  • Apache-2.0Licence Apache-2.0
  • #AI Agents

rakazo

Alternative toGrok Bot

AI teammates you own: your keys, your model, your machine.

  • 6,242 GitHub stars
  • Apache-2.0Licence Apache-2.0
  • #AI Agents
Advertise your product

New open source projects by email

The projects we add and every new guide. Free, unsubscribe any time.

Find open source alternatives to paid software

/
  • Claude Code to OpenCode
  • Jira to Windshift
  • Notion to AppFlowy
  • Slack to Mattermost
  • Linear to GitLab
  • Wispr Flow to Handy
  • Arc to Zen Browser
  • CapCut to Concat
  • Grok Bot to rakazo
  • Superhuman to Inbox Zero
  • Airtable to AITable
  • Muse to OpenClaw
  • Railway to Coolify
  • GitHub Copilot to Cline
  • Datadog to Netdata
  • Microsoft Teams to Rocket.Chat
  • Confluence to Docmost
  • Pinecone to Qdrant
  • Zapier to n8n
  • Devin AI to OpenHands
  • Firebase to Supabase
  • 1Password to KeePassXC
  • Contentful to Strapi
  • Adobe Premiere Pro to Shotcut
  • Claude Code to OpenCode
  • Jira to Windshift
  • Notion to AppFlowy
  • Slack to Mattermost
  • Linear to GitLab
  • Wispr Flow to Handy
  • Arc to Zen Browser
  • CapCut to Concat
  • Grok Bot to rakazo
  • Superhuman to Inbox Zero
  • Airtable to AITable
  • Muse to OpenClaw
  • Railway to Coolify
  • GitHub Copilot to Cline
  • Datadog to Netdata
  • Microsoft Teams to Rocket.Chat
  • Confluence to Docmost
  • Pinecone to Qdrant
  • Zapier to n8n
  • Devin AI to OpenHands
  • Firebase to Supabase
  • 1Password to KeePassXC
  • Contentful to Strapi
  • Adobe Premiere Pro to Shotcut