Programs
PHP-MNGR
Run multiple PHP projects side by side, each pinned to its own PHP version from 7.2 through 8.3, without polluting your host system.
Overview
PHP-MNGR maintains a pool of PHP-FPM containers — one per supported PHP version — and an nginx gateway that routes requests to the right pool based on each project’s pinned version. You get true per-project PHP versions with zero host installation.
Supported PHP versions
Every minor release we actively track:
php:7.2,php:7.3,php:7.4php:8.0,php:8.1,php:8.2,php:8.3
Create a project
From the control panel:
- Navigate to Projects.
- Click New project.
- Pick a name (e.g.
my-site), a PHP version and a webroot. - Click Create. PHP-MNGR scaffolds a directory at
data/projects/my-site/.
Or scaffold from the command line:
$./launch.sh php new my-site --version 8.3 --doc-root publicSwitch PHP version
Changing a project’s PHP version is a single click — the gateway reloads and subsequent requests are served by the new pool. There is no downtime for other projects.
Extensions & composer
The default pools ship with a sensible set of extensions (pdo_mysql, pdo_pgsql,gd, intl,zip, bcmath,redis). Composer is available inside each pool — use the built-in terminal in the panel or exec directly:
$./launch.sh php exec my-site composer install$./launch.sh php exec my-site php artisan migrateTroubleshooting
- 502 Bad Gateway — the pool for the selected PHP version is not running. Restart it from the panel or via
./launch.sh php restart 8.3. - Permission denied on
data/projects— on Linux, the FPM pools run as UID 1000. If your host user differs, run./launch.sh php chown my-site.
For anything more exotic, see Troubleshooting.