FrankenPHP v1.0 is Here
Last updated on by Paul Redmond
FrankenPHP just hit a significant milestone this week, reaching a v1.0 release. A modern PHP application server written in Go, FrankenPHP gives you a production-grade PHP server with just one command.
It includes native support for Symphony, Laravel, WordPress, and more:
- Production-grade PHP server, powered by Caddy
- Easy deploy - package your PHP apps as a standalone, self-executable binary
- Run only one service - no more separate PHP-FPM and Nginx processes
- Extensible - compatible with PHP 8.2+, most PHP extensions, and all Caddy modules
- Worker mode - boot your application once and keep it in memory
- Zstandard and Gzip compression
- Structured logging
- Monitor Caddy with built-in Prometheus metrics
- Native support for HTTPS, HTTP/2 and HTTP/3
- Automatic HTTPS certificates and renewals
- Graceful release - deploy your apps with zero downtime
- Support for Early Hints
Is there support for FrakenPHP in Laravel Octane? Not yet, but there is an active pull request to Add support for FrankenPHP to Laravel Octane.
Which PHP modules are supported? I tried looking for a definitive list, but from what I gather most popular PHP extensions should work. The documentation confirms that OPcache and Debug are natively supported by FrankenPHP.
If you want to experiment with your application, the easiest way to try it out is to run the following Docker command:
docker run -v $PWD:/app/public \ -p 80:80 -p 443:443 \ dunglas/frankenphp
For Laravel, you'll need to run the following Docker command (the FrankenPHP Laravel docs have complete setup instructions):
docker run -p 443:443 -v $PWD:/app dunglas/frankenphp
You can also run the
frankenphp binary in macOS and Linux if you'd rather not use Docker.