FrankenPHP is a Go-based PHP runtime and application server that integrates a web server and PHP interpreter to host applications without requiring a separate process manager. It functions as a worker mode server that keeps applications in memory across requests to eliminate bootstrap overhead and a static binary bundler that packages applications and the server into a single self-contained executable.
The project distinguishes itself by allowing the embedding of a PHP runtime directly into Go programs and enabling the development of PHP extensions using the Go language. It also includes a built-in real-time hub for pushing updates to clients via the Mercure protocol.
The server covers a broad range of operational capabilities, including worker thread scaling, request routing, and the delivery of early hint responses for asset preloading. It provides developer experience tools for automated hot reloading and worker restarts, alongside observability features such as thread state inspection and Prometheus metrics exposure.
Deployment is supported through container image building and the compilation of standalone static binaries using musl libc.