Overview
Envloom provides comprehensive runtime management for your local development stack. Install and manage multiple versions of PHP, Node.js, MariaDB, and Nginx simultaneously, with the ability to switch between versions instantly.All runtimes are installed locally within Envloom’s
bin directory, keeping your system clean and isolated from global installations.Supported Runtimes
PHP
Thread-safe x64 builds from windows.php.net with per-version FPM configuration
Node.js
Managed via nvm-windows with automatic version switching
MariaDB
Official MariaDB releases with local data directory
Nginx
Latest stable releases from GitHub with auto-configuration
PHP Runtime Management
Version Installation
PHP versions are organized by major.minor lines (e.g., 8.3, 8.2, 8.1). Envloom automatically fetches the latest builds from the official PHP for Windows releases.Browse Available Versions
Navigate to Runtime > PHP to see available major versions (8.3, 8.2, 8.1, 8.0, etc.)
Install a Version
Click Install next to any PHP line to download and configure the latest build for that version
Version-Specific Configuration
Each PHP version gets its ownphp.ini with:
- Base template: Shared configuration in
config/php/php.ini - Version overrides: Per-version settings in
config/php/{major.minor}.ini - Managed values: Memory limit and upload size controlled via UI
- Required extensions: Automatically enabled (PDO, OpenSSL, cURL, mbstring, zip, etc.)
php.ini structure
PHP-FPM Service
Envloom runsphp-cgi.exe as FastCGI Process Manager for each installed PHP version:
- Base port: 9000 (configurable)
- Port calculation:
base_port + (major * 10 + minor)- PHP 8.3 → port 9083
- PHP 8.2 → port 9082
- PHP 8.1 → port 9081
All installed PHP versions run simultaneously, allowing per-site version selection.
CLI Shims
Envloom creates command-line shims for easy access:Available PHP commands
Update Management
Envloom checks for updates hourly (configurable in Settings):- Auto-check: Background update detection every hour
- Manual update: Click Update button when newer build is available
- Cache: Release information cached for 1 hour
Node.js Runtime Management
NVM Integration
Node.js is managed through nvm-windows (Node Version Manager):- Local installation: Envloom installs nvm-noinstall.zip to
bin/nvm - Version storage: Node versions in
bin/node/{version} - Current symlink: Active version at
bin/node/current
Installing Node Versions
- Desktop UI
- CLI
- Open Runtime > Node
- Browse available major versions (22, 20, 18, 16, etc.)
- Click Install to download the latest version for that major
- Use Set as Current to switch the active version
Version Switching Behavior
Node.js version management
MariaDB Runtime Management
Version Management
MariaDB is not auto-downloaded on first launch. You must manually install versions:Configuration
Each MariaDB version gets its ownmy.ini configuration:
MariaDB configuration
Port and root password are configurable from Runtime > MariaDB settings.
Database Shims
Envloom creates both MySQL-compatible and MariaDB-native shims:Database CLI access
Nginx Web Server
Installation
Nginx is automatically downloaded during bootstrap:- Source: Latest stable release from nginx/nginx GitHub repository
- Location:
bin/nginx/{version} - Current link:
bin/nginx/currentjunction points to active version
Auto-Configuration
Envloom automatically configures Nginx for local development:- Global logs:
logs/nginx/access.logandlogs/nginx/error.log - Site includes: Automatic
include sites/*.conf;directive - FastCGI setup: Pre-configured PHP-FPM integration
nginx.conf modifications
Service Management
Nginx lifecycle is managed automatically:- Auto-start: Launches on app startup (configurable)
- Config test: Runs
nginx -tbefore starting - Auto-reload: Reloads when site configs change
- Auto-stop: Graceful shutdown when Envloom closes
Runtime Shims & PATH Management
Envloom manages your WindowsPATH environment variable with a single entry pointing to bin:
Shim System
Current version shims (point to junction links):Clean PATH
Envloom automatically removes legacy entries when switching versions, keeping your PATH clean with only one
bin directory.bin/php/currentbin/nginx/currentbin/mariadb/current/binbin/shims(old shim location)bin/composer
Update Checks
Background update detection runs every hour (whenautoUpdate is enabled):
Fetch Latest
Downloads release metadata from:
- PHP:
windows.php.net/downloads/releases/releases.json - MariaDB:
downloads.mariadb.org/rest-api/mariadb/ - Nginx:
api.github.com/repos/nginx/nginx/releases
CLI Commands
Runtime management from CLI
Troubleshooting
PHP-FPM Not Starting
- Check if port is already in use:
netstat -ano | findstr :9083 - Review PHP error log:
logs/php/php-8_3.error.log - Verify
php-cgi.exeexists in version directory - Check
php.inisyntax
MariaDB Won’t Initialize
- Ensure root password was set during installation
- Check
logs/mariadb/mariadb.error.log - Verify
mysql_install_db.exeormariadb-install-db.exeexists - Port 3306 must be available
Nginx Config Test Fails
- Run
nginx -tmanually frombin/nginx/current - Check syntax in
sites/*.conffiles - Verify all referenced certificate files exist
- Ensure port 80/443 are available
Related Documentation
Site Management
Learn how sites use runtime versions
Services
Control service lifecycle and status