PHPackages                             hjbdev/pvm - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [CLI &amp; Console](/categories/cli)
4. /
5. hjbdev/pvm

ActiveLibrary[CLI &amp; Console](/categories/cli)

hjbdev/pvm
==========

PHP Version Manager for Windows CLI

0.2.4(2y ago)2784.1k↓50%29[3 PRs](https://github.com/hjbdev/pvm/pulls)MITGoPHP ^5.6|^7.0|^8.0CI passing

Since Apr 28Pushed 2mo ago7 watchersCompare

[ Source](https://github.com/hjbdev/pvm)[ Packagist](https://packagist.org/packages/hjbdev/pvm)[ Docs](https://pvm.hjb.dev)[ RSS](/packages/hjbdev-pvm/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (2)Versions (10)Used By (0)

PVM for Windows
===============

[](#pvm-for-windows)

[Support this project](https://github.com/sponsors/hjbdev)

Removing the hassle of changing PHP versions in the CLI on Windows.

This package has a much more niche use case than nvm does. When developing on Windows and using the integrated terminal, it's quite difficult to get those terminals to *actually* listen to PATH changes.

This utility changes that.

Installation
------------

[](#installation)

`pvm` currently supports x64 Windows only.

```
irm https://pvm.hjb.dev/install.ps1 | iex
```

You can still install manually by downloading the latest `pvm.exe` release, placing it in `%UserProfile%\.pvm\bin` (for example `C:\Users\Harry\.pvm\bin`), and adding that folder to your PATH.

Commands
--------

[](#commands)

```
pvm list

```

Will list out all the available PHP versions you have installed

```
pvm list remote

```

Will list the PHP versions available for installation.

```
pvm bin

```

Will tell you what to put in your Path variable.

```
pvm use 8.2.9

```

Note

Versions must have major.minor specified in the *use* command. If a .patch version is omitted, newest available patch version is chosen.

Will switch your currently active PHP version to PHP 8.2.9

```
pvm install 8.2

```

Note

The install command will automatically determine the newest minor/patch versions if they are not specified

Will install PHP 8.2 at the latest patch.

```
pvm extensions list

```

Will show regular and Zend extensions for the active PHP version, including whether each extension is enabled, disabled, available in `ext`, or missing from disk.

```
pvm extensions enable curl,openssl

```

Will enable one or more extensions that already have entries in the active version's `php.ini`.

```
pvm extensions disable xdebug

```

Will disable an extension or Zend extension in the active version's `php.ini`.

Composer support
----------------

[](#composer-support)

`pvm` now installs also composer with each php version installed. It will install Composer latest stable release for PHP &gt;= 7.2 and Composer latest 2.2.x LTS for PHP &lt; 7.2. You'll be able to invoke composer from terminal as it is intended:

```
composer --version
```

Build this project
------------------

[](#build-this-project)

To compile this project use:

```
bash ./build.sh
```

To override the embedded version for a release-style local build:

```
VERSION=1.2.1 bash ./build.sh
```

GitHub releases are built automatically from pushed tags and publish both `pvm.exe` and `install.ps1` as release assets.

###  Health Score

45

—

FairBetter than 93% of packages

Maintenance57

Moderate activity, may be stable

Popularity40

Moderate usage in the ecosystem

Community22

Small or concentrated contributor base

Maturity53

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 84.4% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~121 days

Recently: every ~212 days

Total

8

Last Release

994d ago

PHP version history (2 changes)0.0.1PHP ^7.1.3

0.2.0PHP ^5.6|^7.0|^8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/42136c99644c6b8a8ea177aece5eb5120768caf367613394ad3d7d17a01662c6?d=identicon)[hjbdev](/maintainers/hjbdev)

---

Top Contributors

[![hjbdev](https://avatars.githubusercontent.com/u/30434619?v=4)](https://github.com/hjbdev "hjbdev (103 commits)")[![Lotti](https://avatars.githubusercontent.com/u/279962?v=4)](https://github.com/Lotti "Lotti (7 commits)")[![engeplabs](https://avatars.githubusercontent.com/u/16978481?v=4)](https://github.com/engeplabs "engeplabs (5 commits)")[![sog-vriva](https://avatars.githubusercontent.com/u/235340183?v=4)](https://github.com/sog-vriva "sog-vriva (3 commits)")[![goodjun](https://avatars.githubusercontent.com/u/18377597?v=4)](https://github.com/goodjun "goodjun (1 commits)")[![oldreposcrapyard](https://avatars.githubusercontent.com/u/7560012?v=4)](https://github.com/oldreposcrapyard "oldreposcrapyard (1 commits)")[![OliverWich](https://avatars.githubusercontent.com/u/35409274?v=4)](https://github.com/OliverWich "OliverWich (1 commits)")[![Eboubaker](https://avatars.githubusercontent.com/u/37766821?v=4)](https://github.com/Eboubaker "Eboubaker (1 commits)")

---

Tags

phpphp-versionsphpmanagerversionphpvmpvm

###  Code Quality

TestsPest

### Embed Badge

![Health badge](/badges/hjbdev-pvm/health.svg)

```
[![Health](https://phpackages.com/badges/hjbdev-pvm/health.svg)](https://phpackages.com/packages/hjbdev-pvm)
```

###  Alternatives

[nunomaduro/termwind

It's like Tailwind CSS, but for the console.

2.5k239.8M286](/packages/nunomaduro-termwind)[nunomaduro/laravel-console-task

Laravel Console Task is a output method for your Laravel/Laravel Zero commands.

2582.1M11](/packages/nunomaduro-laravel-console-task)[alecrabbit/php-cli-snake

Lightweight cli spinner with zero dependencies

29211.3k5](/packages/alecrabbit-php-cli-snake)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
