⚡ 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 | bash
To prevent duplication in your shell config file, add --skip-shell
option to install command.
curl -fsSL https://phpup.vercel.app/install | bash -s -- --skip-shell
To 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
,fish
orpowershell
[WIP] curl
,ps
andmake
installation
- Download the latest release binary for your system
- Make it available globally on
PATH
environment 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 use
when a directory contains a.php-version
file, add the--auto
(long:--auto-switch
) option. - To search recursively for a
.php-version
file in a parent directory when runningphpup use
automatically, 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.1
export PKG_CONFIG_PATH="$(brew --prefix libxml2)/lib/pkgconfig"
export PHPUP_CONFIGURE_OPTS="--with-iconv=$(brew --prefix libiconv)"
phpup install 8.1
See List of core configure options for more configre options.
phpup help
PRs Welcome 🎉