⚡ PHP version manager written in rust
- No requirements for system PHP installation
- Cross-platform support (Linux, macOS, Windows[WIP])
- Automatically version switching via
.php-version
For bash, zsh and fish there's a installation script
curl -fsSL https://phpup.vercel.app/install | bashTo prevent duplication in your shell config file, add --skip-shell option to install command.
curl -fsSL https://phpup.vercel.app/install | bash -s -- --skip-shellTo remove PHP-UP, just delete the .phpup folder in your home directory.
You should also edit your shell configuration to remove any references to phpup.
- OS: Linux, macOS, Windows[WIP]
- shell:
bash,zsh,fishorpowershell[WIP] curl,psandmakeinstallation
- Download the latest release binary for your system
- Make it available globally on
PATHenvironment variable
cargo install phpup
Add the following to your .bashrc or .zshrc
eval "$(phpup init --auto --recursive)"Create ~/.config/fish/conf.d/phpup.fish and add the following to it
phpup init --auto --recursive | source- To automatically run
phpup usewhen a directory contains a.php-versionfile, add the--auto(long:--auto-switch) option. - To search recursively for a
.php-versionfile in a parent directory when runningphpup useautomatically, add the--recursive(long:--recursive-version-file) option. - For more options, run
phpup init --help.
PKG_CONFIG_PATH="$(brew --prefix libxml2)/lib/pkgconfig" \
phpup install 8.1 \
--configure-opts="--with-iconv=$(brew --prefix libiconv)"PKG_CONFIG_PATH="$(brew --prefix libxml2)/lib/pkgconfig" \
PHPUP_CONFIGURE_OPTS="--with-iconv=$(brew --prefix libiconv)" \
phpup install 8.1export PKG_CONFIG_PATH="$(brew --prefix libxml2)/lib/pkgconfig"
export PHPUP_CONFIGURE_OPTS="--with-iconv=$(brew --prefix libiconv)"
phpup install 8.1See List of core configure options for more configre options.
phpup help
PRs Welcome 🎉
