FrankenPHP: the modern PHP app server
The Modern PHP App Server,written in Go
# Install FrankenPHP
curl https://frankenphp.dev/install.sh | sh
mv frankenphp /usr/local/bin/
# Serve the public/ directory
frankenphp php-server -r public/
# Run a command-line script
frankenphp php-cli script.php
One command to run them all
Get started!
Make your PHP apps faster than ever!
Worker mode
Fast as lightning
So easy to configure!
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.
Prometheus metrics and tracing
Built-in Prometheus support!
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.