FrankenPHP is a modern application server for PHP built on top of the Caddy web server.
FrankenPHP addresses the limitations of traditional PHP deployment by embedding PHP directly into a Go-based server that provides features typically associated with modern application servers. It runs PHP through a worker mode that keeps the application in memory between requests, eliminating the startup overhead of traditional CGI or FastCGI approaches. The server is built on Caddy, inheriting its automatic HTTPS, HTTP/2, and HTTP/3 support. Beyond basic serving, FrankenPHP adds capabilities like Early Hints for performance optimization, real-time features through Mercure integration, and hot reloading for development workflows.
FrankenPHP suits teams running Laravel or Symfony applications who want significant performance improvements without changing their codebase, as both frameworks have official integrations with the worker mode. It works with any PHP application, making it a drop-in replacement for traditional PHP servers. The tool is also available as a standalone Go library, allowing developers to embed PHP in other Go applications using the standard net/http interface. Installation is straightforward across platforms: standalone binaries are provided for Linux, macOS, and Windows with PHP 8.5 included, and packages are available through Homebrew, apt, dnf, and apk package managers.
The project maintains active development with regular updates to its core functionality and documentation. The maintainers provide and support multiple distribution channels including standalone binaries, system packages, and Docker images across Linux, macOS, and Windows platforms. The tool receives ongoing enhancements to its feature set and continues to expand its ecosystem of integrations with popular PHP frameworks.