asdf vs PHPBrew
asdf
asdf-vm.comPHPBrew
phpbrew.github.ioSide by side
| Figure | asdf | PHPBrew |
|---|---|---|
| Price from | Free | Free |
| Free plan | Yes | Yes |
| Free trial | — | — |
| Open source | — | — |
| macOS | Yes | Yes |
| Linux | Yes | Yes |
| Self-hosted | — | Yes |
| Plans published | 1 | 1 |
| Spec score · Runtime Version Managers | 8.1 (#6) | 7.4 (#18) |
| Intended users | The documentation describes using a shared `.tool-versions` file to help project teams use the same tool versions. | PHPBrew is for users who want to build and manage PHP versions in their home directory, including without root permission. |
| Purpose | asdf is a tool version manager that uses one `.tool-versions` file to share exact tool versions with a project team. | PHPBrew builds and installs multiple PHP versions in the user's home directory. |
Plans
In their own words
asdf
asdf is a free, open-source version manager for Linux and macOS. It gives project teams one command interface and a shared `.tool-versions` file for selecting exact versions of multiple tools and runtimes. Plugins support tools such as Node.js, Ruby, and Elixir, while the plugin API allows additional tools. When a command runs, asdf searches for configuration from the current directory upward toward the home directory, then uses shims to launch the selected executable. Existing `.ruby-version`, `.nvmrc`, and `.node-version` files can be supported per plugin. Listed shell support includes Bash, ZSH, Fish, and Elvish, with completions. A GitHub Action uses `.tool-versions` in CI/CD workflows. Installation options include Homebrew, Zypper, Pacman, precompiled binaries, Go, and source builds. asdf manages tool versions rather than system packages or upstream dependencies. If no version is set, execution errors unless the tool is configured as `system`.
PHPBrew
PHPBrew builds and installs multiple PHP versions in a user’s home directory, including without root permission. It is intended for Linux and macOS and compiles PHP from source. Build variants simplify configuration choices such as PDO, MySQL, SQLite, and debug support. Users can temporarily select a version or change the default, with bash and zsh integration for switching and project version pinning. PHPBrew installs extensions from PHP source or PECL and can create configuration to enable them. It can compile Apache PHP modules and provides PHP-FPM management commands when PHP is built with the +fpm variant. Library lookup can use Homebrew, MacPorts, Debian, Ubuntu, or a custom path. Development packages must be installed before building. The project uses the MIT license and directs users to troubleshooting and wiki documentation. Builds of PHP versions no longer officially supported are not guaranteed, and issues involving versions older than 5.4 will not be fixed. The listed plan costs nothing.