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?

The Solution: Per-Shell Version Isolation

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.