Tools: Meet phpvm: The PHP Version Manager for Linux (v2.5.1 Released) (2026)

Tools: Meet phpvm: The PHP Version Manager for Linux (v2.5.1 Released) (2026)

The Solution: Per-Shell Version Isolation

Effortless Provisioning

Polish in v2.5.1

Getting Started Every Linux PHP developer knows the dance. You need to switch from PHP 8.1 to 8.3. You run your sudo commands, update your global symlinks, and then realize your local development server in the other window just crashed because it was running on the old version. Why should managing PHP versions be a system-wide struggle? phpvm brings the seamless developer experience of tools like pyenv, rbenv, or nvm to the PHP ecosystem on Linux. Instead of changing /usr/bin/php globally, it uses a lightweight shim directory prepended to your PATH. When you call php, the shim inspects your environment variables and forwards the execution to the correct binary. It supports three layers of resolution, falling back gracefully: No need to look up repository installation guides. The built-in installer automatically detects your distribution (Ubuntu or Debian) and configures the appropriate upstream repositories (Ond?ej Sur�'s PPA or deb.sury.org) to fetch the exact CLI and FPM packages you need. Our latest release focuses on making the environment rock-solid: You can install or upgrade using the interactive script: If you are already running v2.5.0, simply run: Check out the project website, or find the full documentation, TUI recipes, and GTK setup instructions on GitHub: Website: rijverse.github.io/phpvm GitHub: github.com/rijverse/phpvm Templates let you quickly answer FAQs or store snippets for re-use. Hide child comments as well For further actions, you may consider blocking this person and/or reporting abuse

Command

Copy

$ -weight: 500;">curl -fsSL https://raw.githubusercontent.com/rijverse/phpvm/main/-weight: 500;">install.sh | -weight: 600;">sudo bash -weight: 500;">curl -fsSL https://raw.githubusercontent.com/rijverse/phpvm/main/-weight: 500;">install.sh | -weight: 600;">sudo bash -weight: 500;">curl -fsSL https://raw.githubusercontent.com/rijverse/phpvm/main/-weight: 500;">install.sh | -weight: 600;">sudo bash phpvm --self--weight: 500;">update phpvm --self--weight: 500;">update phpvm --self--weight: 500;">update - Shell pin: Pinned manually via phpvm shell <version> - Project default: Resolved from .php-version or composer.json requirements when you cd into a directory - Global default: The system fallback managed by -weight: 500;">update-alternatives - Tray App Auto-Start: Spawns the GTK desktop tray app immediately after installation by resolving the graphical session environment from active processes. - PATH Priority: Actively prevents IDEs, login shells, or snap profiles from overriding the shim's position in PATH. - Clean Cleanup: Ensures all background processes are terminated during uninstallation.