phpvm

Five feature spotlights

Per-shell switching, the taskbar indicator, tray menu, full GUI window, and TUI picker. Each one rings the part that shows which PHP is in play.

01 Per-shell switching Two terminals, two PHP versions, no sudo.
phpvm
phpvm
// per-shell switching · the everyday default
no sudo bash · zsh · fish v2.5.0
two terminals · same machine
~/laravel9-app
$ phpvm shell 8.2
shell pinned to PHP 8.2
$ php -v
PHP 8.2.28 (cli)
~/symfony-app
$ phpvm shell 8.3
shell pinned to PHP 8.3
$ php -v
PHP 8.3.21 (cli)
a php shim on your PATH reads PHPVM_SHELL_VERSION resolution: shell pin > project > global

Two terminals. Two PHP versions. No sudo.

pin this terminal
$ phpvm shell 8.2
02 Taskbar indicator Tray shows the live PHP version.
phpvm
phpvm
// a small PHP version manager for linux
tray indicator linux
system tray · gnome panel
System tray showing PHP 8.4 active
active PHP version
updated by phpvm
tray indicator reflects the system-wide (global) PHP updates when you run phpvm global

Know which PHP is actually running

install
$ sudo bash install.sh
03 Tray menu One click switching from the panel.
phpvm
phpvm
// tray menu · GTK + AppIndicator3
one-click switch GTK3 linux
tray menu
phpvm tray menu showing PHP 8.3 active with checkmark
active · ✓ checked
click any version to switch
Auto-detect from project reads .php-version for the current cwd or pick a folder explicitly

Switch PHP from the panel. Without leaving your work.

launch tray
$ phpvm-gui
04 GUI window Every installed PHP with per-version badges.
phpvm
phpvm
// GTK window · SAPI · xdebug · FPM · EOL badges
per-version status GTK3 linux
phpvm-gui · main window
phpvm GUI window with PHP 8.3 active row highlighted
active row · php 8.3
switch / restart FPM inline
badges: cli · fpm · apache2 · xdebug · EOL FPM status pill flips live as you switch

Every PHP, every status, at a glance.

open the window
$ phpvm-gui
05 Terminal UI Keyboard-driven picker. Enter pins the current shell.
phpvm
phpvm
// terminal-native version picker
keyboard-driven bash · zsh · fish no GUI required
phpvm · interactive TUI
phpvm TUI showing php8.2 selected as the active version
selected · ● active
↑/↓ navigate · enter pins this shell
g global · p project · q quit a php shim on your PATH, no sudo

Switch PHP for just this terminal.

just run it
$ phpvm