On May 15, 2025, FrankenPHP has become a part of PHP Foundation. It means that going forward, FrankenPHP will have more peer-reviewers and more help towards bug-fixes. FrankenPHP is already a stable platform and is already officially promoted by Caddy web server to run PHP apps such as WordPress, Laravel, Symfony, etc.
Main Features of FrankenPHP
- Faster than php-fpm
- Easy to deploy
- Supports modern standards such as zstd compression, http/3, etc.
- Integrated web server (Caddy)
- Easy to start developing in PHP
- Single binary. So, no external dependency.
If you’d like to know the more in-depth info on all the features of FrankenPHP, watch out the following 4+ hours video by the original creator of FrankenPHP…
Where to use php-fpm?
PHP-FPM is useful in servers where sites are hosted under multiple usernames. As php-fpm is detached from a web server and is a standalone entity in a server, it can be made to run as any user. FrankenPHP is bundled with a web server. So, it can run as a single user only.
FrankenPHP and php-fpm can co-exist on the same server, with FrankenPHP serving the main site and others less-important sites served by php-fpm. This type of customization is possible due to the underlying Caddy web server integrated into FrankenPHP.
Some cons
Compiling FrankenPHP takes a lot of time depending on what we’d want to add. Adding even a Caddy module can take ages. On my tests, it takes approximately 45 minutes to compile it on an 4GB DigitalOcean general purpose server.
Final thoughts
This site has recently been migrated to FrankenPHP. My WireGuard VPN server is also hosted along with the WP site here (under the same username). All have been going so well so far. Of course there are bugs at the moment. However, with a solid backing of PHP Foundation, most of those bugs will be fixed in the coming years, making it as reliable as php-fpm.
Happy Hosting!