rindow/phpvenv

A lightweight virtual environment manager for PHP.

Maintainers

Package info

github.com/rindow/phpvenv

pkg:composer/rindow/phpvenv

Statistics

Installs: 6

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 0

1.0.2 2026-05-15 11:49 UTC

This package is auto-updated.

Last update: 2026-05-15 11:51:58 UTC


README

A lightweight tool to create isolated PHP virtual environments, inspired by Python's venv.

It allows you to create a local environment with its own configuration (php.ini) and local Composer home, without affecting the system-wide PHP installation.

Features

  • Isolated php.ini and configuration directory (conf.d).
  • Environment-specific COMPOSER_HOME.
  • Support for Bash, Zsh, Command Prompt (CMD), and PowerShell.
  • Automatic wrapper scripts to ensure the correct configuration is used.
  • Supports multiple installed PHP versions. The virtual environment automatically uses the same PHP interpreter that was used when running phpvenv.

Installation

You can install this tool globally using Composer:

composer global require rindow/phpvenv

Ensure your global composer bin directory is in your PATH.

Usage

1. Create a new environment

phpvenv myenv

2. Activate the environment

On Unix (Bash/Zsh):

source myenv/bin/activate

On Windows (Command Prompt):

myenv\Scripts\activate.bat

On Windows (PowerShell):

. \myenv\Scripts\Activate.ps1

3. Deactivate

Simply run:

deactivate

4. Multiple PHP Versions

If your system has multiple PHP versions installed, phpvenv can create environments tied to a specific PHP interpreter.

The generated virtual environment stores the path to the PHP executable used during creation (PHP_BINARY) and always uses that interpreter inside the environment.

Example:

php8.2 /installed/dir/phpvenv env82
php8.4 /installed/dir/phpvenv env84

After activation:

source env82/bin/activate
php -v
# PHP 8.2.x

source env84/bin/activate
php -v
# PHP 8.4.x

Note

The environment does not bundle PHP itself. Instead, it creates wrapper scripts that forward execution to the PHP binary used at environment creation time.

License

BSD-3-Clause