Local PHP development for Linux & macOS
Lerd runs Nginx, PHP-FPM and your services as rootless Podman containers. Automatic .test domains, per-project PHP & Node, one-command TLS. No Docker daemon, no sudo, no system pollution.
Everything the Linux PHP dev
never had, in one binary.
From lerd link to a live HTTPS site in seconds. Then the deep stuff: flame-graph profiling, a dump debugger, a Tinker REPL, and worker self-heal, surfaced across CLI, dashboard, TUI and MCP.
Rootless Podman, zero daemon
Nginx, PHP-FPM and services run as your user via systemd user units, dual-stack IPv4 + IPv6 where available. No Docker, no background daemon, no sudo.
// no system pollutionAutomatic .test domains + TLS
One command provisions a trusted certificate via mkcert. Or opt out and use *.localhost, no dnsmasq, no resolver tweaks, no sudo for the DNS bits.
Per-project PHP & Node
PHP 8.1–8.5 plus a frozen 7.4 / 8.0 legacy tier. Switch with one command, isolated per repo.
SPX flame-graph profiler
One-click on/off. Every PHP-FPM request becomes a flame graph in a same-origin Profiler view.
Worker self-heal
Queue, schedule, Horizon and Reverb workers plus the Stripe listener, monitored everywhere and recovered with one click.
Debug window for every dump()
Intercepts every dump() / dd() and streams it to the dashboard, TUI and MCP, scoped per site and per worktree branch. Captures SQL with N+1 detection, mail, events, jobs & outgoing HTTP. Your response stays clean.
In-browser Tinker REPL
A PHP REPL per site on the Monaco editor, backed by phpantom_lsp, a real language server that resolves your actual models, relationships & vendor classes, with quick-fix imports, per-line results and inlined SQL.
// artisan tinker, in the UILocal PHP development on a Mac,
with nothing to buy.
Nginx, PHP-FPM and your services run as rootless Podman containers, the way they do on Linux, with the same .test domains, per-project PHP and Node, one-command TLS, and the same dashboard, TUI, profiler and MCP server behind them. One binary, one line to install.
There is no paid tier
Everything on this page ships in one MIT-licensed binary: the profiler, the dump debugger, Tinker, the dashboard, the TUI, the MCP server. You never make an account, and nothing waits behind an upgrade.
PHP on the host, in beta
A project on a Mac is bind-mounted into a VM, so a containerised PHP crosses that boundary on every file it reads. An opt-in runtime moves PHP-FPM, the CLI, composer and the workers onto the host and leaves nginx and the services where they are.
Off by default. Turn it on in System → Runtime, or with lerd php:runtime. Native builds cover PHP 8.1 and up; anything older keeps its container.
A dashboard that actually
manages your stack.
Switch PHP versions, toggle services, tail live logs, run Tinker, all from the browser. Click around; this is the real thing.
Let your AI assistant run
the dev environment.
Lerd ships a built-in MCP server. Connect Claude Code, Cursor, Codex, Gemini, Copilot, Junie, Antigravity or Windsurf and scaffold projects, switch PHP, run migrations and tail logs, straight from chat.
lerd linkLink the current directory, auto-detect the framework, provision TLS.
lerd isolate 8.4Switch the per-site PHP version without an FPM restart.
redis, mysql…Start or stop shared services on demand, rootless.
dump · queriesStream PHP-FPM, queue and debug output back into the chat.
The Herd workflow, without
the Docker tax.
A zero-config shared stack you can drop any project into without touching its files. Here's how it lines up against the tools Linux PHP devs reach for today.
Coming from a Mac or from Windows? Herd has no Linux build and Laragon is Windows-only. Lerd gives you both workflows natively, see Laravel Herd for Linux, Laragon for Linux and the full comparison.
Every service your app needs.
Toggle them per workspace from the CLI, dashboard or MCP. Need something else? Drop a Containerfile.lerd to run Node, Python, Ruby or Go alongside your PHP sites.
and every other preset in the store
with a UI for the ones that have one
lerd service:add <name> or pick one in the dashboard. Browse the services →