frankenphp
llms.txt11k starsChanged 8 months agoMITView on GitHub
FrankenPHP is a modern PHP application server written in Go and powered by Caddy. It runs PHP applications with automatic HTTPS, HTTP/2 and HTTP/3, an in-memory worker mode, real-time updates via Mercure, hot reload, and a static-binary deployment story. This index points AI agents and crawlers at the canonical English documentation. All URLs are absolute. Each Markdown source file carries SEO and LLM-friendly YAML frontmatter (title, description).
Files
# FrankenPHP > FrankenPHP is a modern PHP application server written in Go and powered by [Caddy](https://caddyserver.com). It runs PHP applications with automatic HTTPS, HTTP/2 and HTTP/3, an in-memory worker mode, real-time updates via [Mercure](https://mercure.rocks), hot reload, and a static-binary deployment story. This index points AI agents and crawlers at the canonical English documentation. All URLs are absolute. Each Markdown source file carries SEO and LLM-friendly YAML frontmatter (`title`, `description`). ## Core concepts - [FrankenPHP Classic Mode](https://frankenphp.dev/docs/classic/): drop-in replacement for PHP-FPM and Apache mod_php using a fixed or autoscaling thread pool. - [FrankenPHP Worker Mode](https://frankenphp.dev/docs/worker/): keep your PHP application bootstrapped in memory between requests for lower latency. - [Configuring FrankenPHP](https://frankenphp.dev/docs/config/): Caddyfile, JSON, environment variables, and `php.ini` configuration. - [FrankenPHP Internals](https://frankenphp.dev/docs/internals/): thread types, the state machine, the Go/C/PHP CGO boundary, auto-scaling, and per-thread environment sandboxing. - [FrankenPHP Security Model](https://frankenphp.dev/docs/security/): trust boundaries between Go, C, and PHP (which inputs are untrusted, what the runtime is responsible for, and what is out of scope). ## Setup and build - [FrankenPHP Docker Image](https://frankenphp.dev/docs/docker/): build custom images, install PHP extensions and Caddy modules, run as non-root, harden with distroless. - [Compile FrankenPHP From Sources](https://frankenphp.dev/docs/compile/): build on Linux, macOS and FreeBSD with PHP linked as a dynamic library. - [Static Build](https://frankenphp.dev/docs/static/): create a single self-contained FrankenPHP binary with embedded PHP and Caddy. - [Embedding PHP Apps as Standalone Binaries](https://frankenphp.dev/docs/embed/): ship a pure-PHP, Symfony or Laravel app as one static executable. - [Building Images with GitHub Actions](https://frankenphp.dev/docs/github-actions/): automate Docker image builds and publication. ## Worker mode and extensions - [FrankenPHP Worker Mode](https://frankenphp.dev/docs/worker/): supervisor configuration, restart policies, and integration with Symfony Runtime and Laravel Octane. - [Extension Workers](https://frankenphp.dev/docs/extension-workers/): dedicated PHP thread pool from a Go extension for queues, schedulers, and event listeners. - [Writing PHP Extensions in Go](https://frankenphp.dev/docs/extensions/): extension generator, types API, calling PHP from Go, classes, methods, and constants. - [Use as a Go library](https://frankenphp.dev/docs/library/): embed PHP in any Go program, serve scripts through net/http, and scope workers to server instances. ## Frameworks - [Laravel with FrankenPHP](https://frankenphp.dev/docs/laravel/): Docker, local install, Laravel Octane integration, and standalone binaries. - [Symfony with FrankenPHP](https://frankenphp.dev/docs/symfony/): Symfony Docker, worker mode, hot reload, AssetMapper, and X-Sendfile. - [WordPress with FrankenPHP](https://frankenphp.dev/docs/wordpress/): minimal install, production Caddyfile, hot reload via Mercure. - [Migrating from Nginx and PHP-FPM](https://frankenphp.dev/docs/migrate/): step-by-step migration of an existing PHP stack. ## Real-time and performance features - [Mercure Real-Time Hub](https://frankenphp.dev/docs/mercure/): built-in Mercure hub for pushing real-time events to browsers over HTTP. - [HTTP 103 Early Hints](https://frankenphp.dev/docs/early-hints/): preload critical assets before the final response. - [Hot Reload](https://frankenphp.dev/docs/hot-reload/): refresh PHP, templates, and frontend assets without manual reload. - [X-Sendfile and X-Accel-Redirect](https://frankenphp.dev/docs/x-sendfile/): delegate large file delivery to the web server after running PHP. - [Performance Tuning](https://frankenphp.dev/docs/performance/): thread count, worker mode, glibc vs musl, Go runtime, OPcache, Caddyfile options. ## Production and observability - [Deploying FrankenPHP in Production](https://frankenphp.dev/docs/production/): Docker Compose deployments with TLS, reverse proxy, and multi-node setups. - [Known Issues](https://frankenphp.dev/docs/known-issues/): unsupported PHP extensions, musl caveats, Docker TLS gotchas. - [Observability Overview](https://frankenphp.dev/docs/observability/): Prometheus metrics, structured logs, and the Ember TUI dashboard. - [Prometheus Metrics](https://frankenphp.dev/docs/metrics/): exposed metrics for threads, workers, queues, crashes, and restarts. - [Logging](https://frankenphp.dev/docs/logging/): structured logging with `frankenphp_log()` and `error_log()` routed through Caddy. ## Project - [GitHub Repository](https://github.com/php/frankenphp) - [Docker Hub](https://hub.docker.com/r/dunglas/frankenphp) - [README](https://github.com/php/frankenphp/blob/main/README.md) - [Contributing Guide](https://github.com/php/frankenphp/blob/main/CONTRIBUTING.md)
Trending
Steady: 0 new projects took it in the last 4 weeks, none the 4 weeks before.thin data
Who's talking about php/frankenphp
- @derickr.phpc.social.ap.brid.gy“Want a Franken PHP elephpant to exist? They'll make them if they get to 10k stars on GitHub: …”Bluesky · Jun 21, 2025 · 23 likes
- @davlgd.fr“10002 stars for FrankenPHP, congrats @dunglas.dev ! github.com/php/frankenphp”Bluesky · Aug 12, 2025 · 18 likes
- docker-hardened-images/catalog“[image]: FrankenPHP”GitHub · Jan 7, 2026 · 7 reactions
- A Hacker News story“FrankenPHP is now under PHP org”Hacker News · Jun 6, 2025 · 6 points
- auth0/symfony“Auth0\Symfony\Service causes authentication leak in FrankenPHP/RoadRunner worker mode - missing ResetInterface”GitHub · Dec 31, 2025 · 5 reactions
The biggest 5 of 49 mentions linking to the repository that our crawl found. Each line is their own headline.
See all 49
Talked about on GitHub, Bluesky, the web and Hacker News (49 times).
On GitHub · 34
- Jan 7, 2026[image]: FrankenPHP — docker-hardened-images/catalog7 reactions · 1 comment
- Dec 31, 2025Auth0\Symfony\Service causes authentication leak in FrankenPHP/RoadRunner worker mode - missing ResetInterface — auth0/symfony5 reactions
- Oct 21, 2026CVE-2026-109618 / CVE-2026-109619 — benjaminjonard/koillection4 reactions · 2 comments
- Sep 4, 2026Some Debian images missing for 8.5.10-zts — docker-library/php3 reactions · 2 comments
- Jun 4, 2026Accept any 3xx redirect when resolving tarball URLs — mislav/bump-homebrew-formula-action3 reactions · 1 comment
29 more on GitHub
- Dec 25, 2025Frankenphp repos exist for multiple versions now — ddev/ddev-frankenphp2 reactions · 15 comments
- Nov 19, 2025thread-safe and thread-local `setlocale()` — php/php-src2 reactions · 5 comments
- Jul 1, 2025Entity manager is closed error after upgrading to Symfony 7.3 — symfony/symfony2 reactions · 7 comments
- Oct 21, 2026CVE-2026-109618 / CVE-2026-109619 — wintercms/docker1 reaction · 3 comments
- Aug 23, 2026Установка плагинов сломана в проде: frankenphp php-cli не принимает флаг -l и возвращает 255 на любом файле — anime-db/anime-db-desktop1 reaction · 3 comments
- Aug 7, 2026frankenphp: 1.12.6 -> 1.12.7 — NixOS/nixpkgs1 reaction · 4 comments
- Jul 20, 2026frankenphp: 1.12.4 -> 1.12.5 — NixOS/nixpkgs1 reaction · 5 comments
- Apr 30, 2026perf: profile guided optimizations — crazywhalecc/static-php-cli1 reaction · 4 comments
- Apr 18, 2026feat: Run Frankenphp with no capabilities — andrii-kryvoviaz/slink1 reaction · 1 comment
- Feb 25, 2026[e-dant-watcher] add dll/lib build — microsoft/vcpkg1 reaction
- Feb 18, 2026Update slackhq/nebula dependency to fix CVE-2026-25793 — smallstep/certificates1 reaction · 3 comments
- Feb 16, 2026[Bug]: FrankenPHP with enabled tracing exits with code 137 + sigaltstack error (during graceful shutdown) — DataDog/dd-trace-php1 reaction · 4 comments
- Dec 18, 2025macOS don't need to disable avx2 explicitly — crazywhalecc/static-php-cli1 reaction
- Dec 5, 2025feat: Go module — e-dant/watcher1 reaction · 3 comments
- Nov 24, 2025fix: remove unnecessary configuration due new `mercure_publish()` PHP function — dunglas/symfony-docker1 reaction · 6 comments
- Nov 23, 2025Update FrankenPHP to 1.10.0 — serversideup/docker-php1 reaction
- Nov 17, 2025runtime/cgo: add support for `any` param and return type — golang/go1 reaction · 38 comments
- Oct 12, 2025Fix not thread safe xmlSchemaParse calls in ZTS builds by calling xmlSchemaInitTypes during MINIT — php/php-src1 reaction · 6 comments
- Oct 24, 2026[Security] Patch Vulnerable PHP Builds and Enforce Secure Runtime Versions in FlyEnv — xpf0000/FlyEnv0 reactions
- Oct 21, 2026Rebuild image with latest dunglas/frankenphp:php8.5 image — benjaminjonard/koillection0 reactions · 1 comment
- Oct 21, 2026Upgrade PHP after PHPShell exploit (CVE-2026-109618 / CVE-2026-109619) — osmbe/osm-welcome-tool0 reactions · 1 comment
- Oct 21, 2026Epic: maestro manages the PHP runtime, its extensions and variants — stubbedev/maestro0 reactions
- Oct 21, 2026PHP runtime: FrankenPHP as a static runtime variant — stubbedev/maestro0 reactions
- Oct 21, 2026PHP runtime: static build pipeline (prebuilt sets in CI, local builds with spc, manifest) — stubbedev/maestro0 reactions
- Oct 15, 2026x/vulndb: potential Go vuln in github.com/dunglas/frankenphp: GHSA-v3ph-cgqh-r8p5 — golang/vulndb0 reactions · 1 comment
- Oct 12, 2026fix: WP-CLI fails with FrankenPHP 1.13.0; validate same-distribution CLI compatibility — plakio/plak-cli0 reactions · 3 comments
- Jul 14, 2026[Egg Request]: frankenphp — pterodactyl/application-eggs0 reactions
- Dec 3, 2025WorkerMode with Primary Replica Database will not switch back to replica connection — doctrine/DoctrineBundle0 reactions · 4 comments
- Aug 17, 2025Unpin go? — newrelic/newrelic-fluent-bit-output0 reactions
On Bluesky · 9
- Jun 21, 2025Want a Franken PHP elephpant to exist? They'll make them if they get to 10k stars on GitHub: https://github.com/php/frankenphp #php… — @derickr.phpc.social.ap.brid.gy23 likes and reposts
- Aug 12, 202510002 stars for FrankenPHP, congrats @dunglas.dev ! github.com/php/frankenphp — @davlgd.fr18 likes and reposts
- Jul 15, 2025Do you think we can reach 10K stars on GitHub before #APIPlatformCon 2025? Once we hit the 10K milestone, we’ll start making an Elephpant… — @les-tilleuls.coop5 likes and reposts
- Jun 30, 2025Quelques jours après avoir rejoint l’organisation officielle de PHP sur GitHub, FrankenPHP a déjà dépassé les 9K stars. S’il atteint les… — @les-tilleuls.coop4 likes and reposts
- May 4, 2026frankenphp (⭐️ 11031) 🧟 The modern PHP app server #go — @golangoss.bsky.social2 likes and reposts
4 more on Bluesky
- Jun 18, 2025🚀 Skyrocketing! 🚀 (200+ new stars) 📦 php / frankenphp ⭐ 8,515 (+402) 🗒 Go 🧟 The modern PHP app server — @github-trending.bsky.social2 likes and reposts
- Jun 20, 2025今日のGitHubトレンド php/frankenphp FrankenPHPはCaddyを基盤としたPHP向けモダンアプリケーションサーバーです。 PHPアプリにEarly… — @dailygithubtrends.bsky.social1 likes and repost
- Jun 19, 2025php/frankenphp 🧟 The modern PHP app server FrankenPHP: Modern App Server for PHP FrankenPHP is a modern application server for PHP built… — @linux.activitypub.awakari.com.ap.brid.gy1 likes and repost
- Jun 18, 2025今日のGitHubトレンド php/frankenphp このリポジトリは、Caddyウェブサーバーを基盤とするモダンなPHPアプリケーションサーバー「FrankenPHP」を提供することを目的としています。 FrankenPHPは、Early… — @dailygithubtrends.bsky.social1 likes and repost
On the web · 5
- Dec 20, 2024ERROR FrankenPHP asset not found. · Issue #1276 · php/ ... — google.com
- Aug 24, 2024[QUESTION] Is frankenphp can be use to pipelines ? #1000 — google.com
- Aug 22, 2024Deploying on render.com · php frankenphp · Discussion #993 — google.com
- Mar 8, 2024Add PHP 8.1 Docker images until end of security support ... — google.com
- Oct 14, 2022License · Issue #20 · php/frankenphp — google.com
On Hacker News · 1
- Jun 6, 2025FrankenPHP is now under PHP org6 points
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

