| FazBrowse GitHub Viewer | Trending | | Home |
| Tools: [Download Repo ZIP] [Original HTTPS Page] |
| Name | Name | Last commit date | ||
|---|---|---|---|---|
"Git for local PHP runtimes, Nginx web servers & MySQL databases."
phpvm is a lightweight, high-performance runtime version manager and process orchestrator for Windows developers. It gives every PHP project its own isolated environment — exact PHP version, required extension DLLs, FastCGI web server (Nginx), and database (MySQL 8) — without mutating your global system PATH or installing heavy virtual machines.
Run in an administrative or standard PowerShell window:
irm https://raw.githubusercontent.com/Vikrez22/phpvm/main/install.ps1 | iexNavigate to your PHP or Laravel project root:
cd C:\projects\my-laravel-app
phpvm initThis creates a runtime.yml manifest and automatically adds .phpvm/ to your .gitignore.
phpvm install
phpvm upYour web application is now live at http://localhost:8000 (or http://localhost:8001) with MySQL 8 running on 127.0.0.1:8083!
phpvm guiOpen http://127.0.0.1:23400 to manage active services, view live log streams, and copy Artisan CLI commands.
| Command | Description |
|---|---|
| phpvm init | Generate a runtime.yml manifest in the current directory |
| phpvm install [pack] | Install a runtime pack (php@8.3, nginx@1.30, mysql@8) or manifest dependencies |
| phpvm up [--no-server] [--no-db] | Start Nginx, PHP-CGI, and MySQL processes for the project |
| phpvm down [--all] | Gracefully stop running project services |
| phpvm status | Display allocated ports, process PIDs, web URLs, and database connections |
| phpvm logs [service] | View live log streams (web, mysql, nginx, php-cgi) |
| phpvm run <cmd> | Execute a command (e.g. php artisan migrate) using project PHP |
| phpvm shell | Launch an interactive PowerShell session scoped to project PHP & Composer |
| phpvm doctor | Run diagnostic checks for VC++ redistributables, permissions, and PATH |
| phpvm gui | Launch the Desktop Control Panel web dashboard (http://127.0.0.1:23400) |
| Command | Description |
|---|---|
| phpvm use <version> | Temporarily activate a specific PHP version in current shell |
| phpvm list [--available] | List installed (or upstream available) PHP versions and service packs |
| phpvm uninstall <pack> | Remove an installed runtime or service pack |
| phpvm snapshot <name> | Backup project runtime state and data to a .tar.gz archive |
| phpvm restore <name> | Restore project runtime state from a backup archive |
| phpvm update | Update phpvm binary and pull latest upstream registry index |
Every project declares its dependencies in runtime.yml:
# runtime.yml - managed by phpvm
phpvm: "1"
runtime:
php: "8.3"
composer: "latest"
extensions:
- zip
- pdo_mysql
- curl
- mbstring
- openssl
- fileinfo
- gd
database:
engine: mysql
version: "8.4"
port: 8083
server:
engine: nginx
port: 8000
root: public
project:
name: my-laravel-app
domain: my-laravel-app.localContributions, issues, and feature requests are welcome!
Distributed under the MIT License. See LICENSE for more information.
| Back | FazBrowse Home | New Git URL |