WRITTEN IN RUST · MIT LICENSE · OPEN SOURCE

NATIVE LOCAL PHP DEVELOPMENT ENVIRONMENT

One binary. Zero Docker. Zero sudo. lambo init detects your project, lambo up gives you PHP, Apache, and MariaDB on port 8080.

curl -fsSL https://raw.githubusercontent.com/flessan/lambophp/main/scripts/install.sh | sh
Lambo PHP mascot

photo by @lambopalmbeach on instagram

<50ms
Cold Start
<8MB
Binary Size
318
Tests Passing
3
Platforms

ENGINEERED FOR SPEED

Every feature eliminates manual work. No configuration files to edit. No PATH to modify. No sudo required.

One Command Setup

lambo init detects your framework from evidence - artisan, composer.json, wp-config - and writes the environment to lambo.yml.

lambo init copied!

No Sudo, Ever

Everything lives in %USERPROFILE%\Lambo or ~/.lambo. Ports are unprivileged (8080/8443), the installer is per-user.

lambo config set server.port 8080 copied!

Native, Not Docker

Real filesystem, real localhost, real debugger. Your OS is the runtime - no compose file, no volume mount to debug.

lambo status copied!

Environment as Code

lambo.yml is human-readable YAML you commit. PHP version, server, database, extensions - the whole environment travels with the repository.

php: "8.4" # pins the 8.4.x line copied!

Doctor with Answers

lambo doctor checks home, transport, catalogue, runtimes, ports, and services in order. Every finding names the command that fixes it.

lambo doctor copied!

Workspaces

Group the projects you actually work on. A workspace is a list of directories and nothing more, so a project behaves the same inside and outside one.

lambo workspace add copied!

SEE IT IN ACTION

Real output, copied from a terminal. Nothing staged, nothing edited.

~/code/shop - lambo

That last failure is deliberate: the catalogue ships with no pinned checksums, so Lambo refuses to run a download it cannot verify. Pin one and it runs ↗

WHY NOT THE TOOLS YOU KNOW?

Honest comparison, best of our knowledge mid-2026. Corrections welcome.

Comparison of Lambo PHP with XAMPP, Laragon, Docker and Herd
Feature LAMBO PHP XAMPP Laragon Docker Herd
Runs natively (no containers)
Per-project PHP versions partial partial
No sudo for daily work partial partial partial partial
Linux-first partial
One-command project bootstrap partial
Environment as code (committed)
Built-in diagnostics & repair
Fully open source partial

"partial" = possible with caveats: admin installers, global-not-per-project switching, pro tiers, or root-equivalent daemon groups. We like these tools - Lambo PHP just makes different promises.

THE ROAD AHEAD

The engine is done. What's left is release engineering, and it's listed honestly.

  1. Engine and CLI shipped

    PHP, Apache and MariaDB installed and supervised; init, up, down, status, open, doctor, logs, db, server, config, migrate. 318 tests, clippy clean on Windows, Linux and macOS.

  2. Pinned checksums next

    The catalogue ships with sha256: null, so a fresh machine cannot install anything until you pin a digest. That's the one thing standing between here and "just works".

  3. Apache and MariaDB for macOS planned

    No catalogue entries yet; Homebrew's builds are found on PATH in the meantime, or use server.kind: php.

  4. HTTPS planned

    server.https_port is reserved and the configuration models it, but no local CA is generated yet - lambo up serves plain HTTP on 8080 and says so.

FREQUENTLY ASKED QUESTIONS

Everything you need to know before switching.

Is this just a wrapper around XAMPP or Homebrew?

No. Lambo downloads isolated, statically-linked (or carefully scoped) native binaries directly into its own directory (~/.lambo). It does not rely on or modify your system's global package manager, ensuring zero conflicts with other tools you might have installed.

Does it work with WordPress, Laravel, and Symfony?

Yes. lambo init specifically looks for wp-config.php, artisan, and composer.json to automatically configure the document root, required PHP extensions, and database settings appropriately for each framework.

How do I update PHP versions?

Simply change the version in your lambo.yml file (e.g., php: "8.3") and run lambo up. Lambo will download the new version, wire it up, and gracefully restart the services without touching your old version until you confirm everything works.

Why Rust?

Rust provides memory safety, extremely fast startup times (critical for CLI tools), and the ability to compile a single, static binary that runs identically across Windows, macOS, and Linux without requiring users to install a runtime like Node or Python.

Can I use my existing PHP installation alongside Lambo?

Yes. Lambo is fully self-contained in ~/.lambo and never modifies your PATH. Your system PHP, Homebrew PHP, or any other installation remains untouched and available for other tools.

How does Lambo handle database persistence?

MariaDB data lives in ~/.lambo/data and survives restarts, upgrades, and lambo down. Only lambo purge (an explicit, destructive command) removes data, and even then it asks first.

No questions match your search.

INSTALL IN ONE LINE

One binary, no sudo, nothing else to install. Pick your platform.

curl -fsSL https://raw.githubusercontent.com/flessan/lambophp/main/scripts/install.sh | sh

Everything it installs

One binary, plus %USERPROFILE%\Lambo or ~/.lambo on first use. That's the whole footprint.

Verify the binary

lambo --version should print lambo 0.1.0. If not, run lambo doctor.

Uninstall

Run the uninstaller, or rm -rf ~/.lambo ~/.local/bin/lambo. Your data is never deleted for you.