User

Per-Domain PHP Versions

How Opterius runs different PHP versions simultaneously across domains on the same account.

Last updated 1775606400

Opterius runs PHP via PHP-FPM with a dedicated pool per domain. Each pool runs under its own PHP version, which means domains on the same account — or across different accounts — can run different PHP versions at the same time with no interference between them.

Supported Versions

  • PHP 8.1
  • PHP 8.2
  • PHP 8.3
  • PHP 8.4

All versions are installed system-wide by the server admin. If a version is not available in your dropdown, ask your admin to install it. See Installing PHP Versions.

How It Works

Each domain gets a PHP-FPM pool config at:

/etc/php/{version}/fpm/pool.d/{domain}.conf

The domain's Nginx vhost points fastcgi_pass at that pool's Unix socket. When you switch a domain's PHP version, the agent rewrites the pool config file, creates the pool under the new version's FPM, and updates the Nginx vhost — then reloads both. The old pool is shut down.

Switching a Domain's PHP Version

Go to Hosting Mode → PHP → [domain] → PHP Version → [select version] → Save.

The switch is immediate with a graceful reload — no requests are dropped. See Switching PHP Version for the full step-by-step.

Multiple Domains, Multiple Versions

You can run any combination across domains:

Domain PHP Version
example.com 8.3
legacy-app.example.com 8.1
staging.example.com 8.4

Each domain's FPM pool is isolated. Changing the PHP version or php.ini values on one domain has no effect on the others.

[!NOTE] PHP CLI (used in cron jobs and SSH sessions) is a separate binary from PHP-FPM. If your cron job needs a specific PHP version, call it explicitly: /usr/bin/php8.3 /path/to/script.php