| CARVIEW |
Select Language
HTTP/2 200
server: GitHub.com
content-type: text/html; charset=utf-8
last-modified: Wed, 24 Dec 2025 17:29:18 GMT
access-control-allow-origin: *
etag: W/"694c22ee-143a8"
expires: Sun, 28 Dec 2025 14:56:24 GMT
cache-control: max-age=600
content-encoding: gzip
x-proxy-cache: MISS
x-github-request-id: 4E1E:3946E9:7AF529:89E937:695142BE
accept-ranges: bytes
age: 0
date: Sun, 28 Dec 2025 14:46:24 GMT
via: 1.1 varnish
x-served-by: cache-bom-vanm7210090-BOM
x-cache: MISS
x-cache-hits: 0
x-timer: S1766933184.089135,VS0,VE205
vary: Accept-Encoding
x-fastly-request-id: 39d9bbac9a58eda48e0a1de3e3e0444f481be010
content-length: 14431
FrankenPHP: the modern PHP app server
















# Install FrankenPHP
curl https://frankenphp.dev/install.sh | sh
# Serve the public/ directory
frankenphp php-server -r public/
# Run a command-line script
frankenphp php-cli script.php
# Serve the public/ directory
docker run -v $PWD:/app/public \
-p 443:443/tcp -p 443:443/udp \
dunglas/frankenphp
# Run a command-line script
docker run -v $PWD:/app \
dunglas/frankenphp php script.php
One command to run them all
Get started!
Get a production-grade PHP server up and running in just one command!
Ready for the future?
Moderner PHP Than Ever!
- Uses the official PHP executor embedded in a state-of-the-art web server: Caddy
- Native support for HTTP/1.1, HTTP/2 and HTTP/3
- Automatic HTTPS certificates generation and renewal (Let’s Encrypt or ZeroSSL)
- Copy your PHP files in the document root, that’s all!
- Build standalone, self-executable and dependencies-free binaries for your PHP web applications, and command-line tools.
- Popular PHP extensions, including OPcache and XDebug, are natively supported!
Make your PHP apps faster than ever!
Worker mode
- Worker script
Boot your app once, it stays in memory!
- Straightforward
Natively supported by Symfony, API Platform, Laravel…
- Simple
Uses plain old superglobals: no need for PSR-7.
- Fast
According to our benchmarks, 3.5x faster than FPM on API Platform apps.
- Efficient
FrankenPHP is written in Go and C. It relies on Go’s iconic feature: goroutines!
- Optional
Your app can be served as-is, even if it isn’t compatible with the worker mode.
- Easy Deploy
Runs in process: one binary, no external service needed.
- Watcher
Automatically restart workers each time your code changes.
Fast as lightning
So easy to configure!
Three lines of config: it’s now all you need to start a production-grade PHP server (automatic HTTPS, HTTP/3, zstd compression…), powered by Caddy.
localhost {
# Enable compression (optional)
encode zstd br gzip
# Execute PHP files in the current directory and serve assets
php_server
}
Features
FrankenPHP at a glance
Extensible
Compatible with PHP 8.2+, most PHP extensions and all Caddy modules.
Only one service
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
Cloud Native app shipped as a Docker image. Compatible with Kubernetes, and all modern cloud platforms. It’s also possible to package your PHP app as a standalone, self-executable static binary.
Worker mode
Boot your application once and keep it in memory! It is ready to handle incoming requests in a few milliseconds.
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
Built-in Mercure hub. Send events from your PHP apps to all connected browsers, they instantly receive the payload as a JavaScript event!
Brotli, Zstandard and Gzip compression
Modern compression formats are supported out-of-the-box.
Structured logging
Bring a more defined format and details to your logging.
HTTP/2 & HTTP/3
Native support for HTTPS, HTTP/2 and HTTP/3.
HTTPS Automation
Automatic HTTPS certificate generation, renewal and revocation.
Graceful reload
Deploy your apps with zero downtime thanks to graceful reloads.






