# Docker
docker -v $PWD:/app/public -p 443:443 dunglas/frankenphp
# Command line
Frankenphp php-server
One command to run them all

Get started!

Get a production-grade PHP server up and running in just one command!
Features

FrankenPHP at a glance

Extensible

Compatible with most PHP extensions and Caddy modules. PHP 8.2, compatible with most PHP extensions

Graceful reload

Update applications, ensuring uninterrupted service and minimal downtime with graceful reloads.

Worker mode

Boot your application once and keep it in memory! It is ready to handle incoming requests in a few milliseconds. FrankenPHP relies on Go’s iconic feature: goroutines!

Only one service

FrankenPHP has been designed with simplicity in mind: only one service, only one binary! FrankenPHP doesn’t need PHP-FPM, it uses its own SAPI specially handcrafted for Go web servers.

Easy deploy

FrankenPHP is a Cloud Native application shipped as a ready-to-use single Docker image. It is compatible with Kubernetes and all modern cloud platforms. If you don’t want to use Docker, it’s also supported.

103 Early Hints

Early Hints are a brand new feature of the web platform that can improve website load times by 30%. FrankenPHP is the only PHP SAPI with Early Hints support!

Real-time

FrankenPHP has a built-in Mercure hub. Send events from your PHP apps to all connected browsers, they instantly receive the payload as a JavaScript event!

Zstandard and Gzip compression

Enhance Your Data Compression Capabilities

Structured logging

Bring a more defined format and details to your logging.

Prometheus metrics and tracing

Thanks to Caddy, various Prometheus metrics are exposed!

HTTP/2 & HTTP/3

Native support for HTTPS, HTTP/2 and even HTTP/3

HTTPS Automation

Automatic HTTPS certificate generation, renewal and revocation
Ready for the future?

Moderner PHP Than Ever!

  • The official PHP executor is embedded in a state-of-the-art web server: Caddy
  • Native support for HTTP 1, 2 and 3
  • Automatic HTTPS certificates generation and renewal (Let’s Encrypt or ZeroSSL)
  • Copy your PHP files in the document root, that’s all!
  • Popular PHP extensions, including OPcache and XDebug, are natively supported!

Native support for

Worker mode

Zoom on the worker mode!

  • Extensible

    Boot your application once and keep it in memory!

  • Seamless

    Process incoming requests without having to boot your app again

  • Compatibility

    Compatible with API Platform and Symfony thanks to Symfony Runtime

  • Efficiency

    Written in C and Go (awesome concurrency engine)

  • Speed

    According to our benchmarks, 3.5x faster than FPM with API Platform

  • Flexibility

    Entirely optional (unlike alternatives like RoadRunner and Swoole)

  • Integration

    Runs in process: no network calls

  • Simplicity

    Uses plain old superglobals: no need for PSR-7 etc

Fast as lightning

It's so easy to configure!

Less than five lines of code: it's now all you need to start a production-grade PHP server (automatic HTTPS, HTTP/3, Zstandard compression...), powered by Caddy.
{
    # Enable FrankenPHP
    frankenphp
    # Configure when the directive must be executed
    order php_server before file_server
}

localhost {
    # Enable compression (optional)
    encode zstd gzip
    # Execute PHP files in the current directory and serve assets
    php_server
}