Skip to content

PHP Management

Version policy

AidiPanel installs PHP 8.5 by default. PHP 8.2, 8.3, and 8.4 remain available on demand so a fresh server does not carry unused runtimes. The policy is stored in /etc/aidipanel/php.conf.

Every PHP site has its own PHP-FPM pool. Sites can therefore use different installed PHP versions without sharing a pool or Unix socket.

List and install versions

bash
aidipanel php:list
sudo aidipanel php:install --version 8.3

php:list distinguishes installed versions from versions that are supported but not yet installed.

Inspect or switch a site

bash
aidipanel php:version --domain example.com
sudo aidipanel php:version --domain example.com --set 8.3

The target version must already be installed. Switching recreates that site's pool and repoints its Nginx vhost; other sites keep their own pools.

Test application compatibility

Check the site's error log and application immediately after a major-version switch. Plugins and dependencies can use APIs removed by newer PHP releases.

Per-site runtime settings

Open Sites → example.com → PHP Settings to manage supported values such as memory limit, upload size, execution time, input limits, OPcache, and session behavior. AidiPanel validates values before rebuilding the site's pool.

The low-level CLI command reapplies settings already saved for the selected site:

bash
sudo aidipanel php:settings --domain example.com --php 8.4

Use the panel UI for normal edits rather than changing generated pool files by hand.

Restart and inspect PHP-FPM

bash
sudo aidipanel php:restart
sudo aidipanel php:restart --version 8.4
aidipanel php:info --version 8.4

Restarting one version affects every site currently assigned to that version. php:info reports its extensions, configuration paths, and service state.

Quick reference

text
php:list                                      list supported and installed versions
php:install  --version <version>              install a supported version
php:version  --domain <domain>                show a site's version
php:version  --domain <domain> --set <version> switch a site
php:settings --domain <domain> --php <version> apply saved per-site settings
php:restart  [--version <version>]            restart PHP-FPM
php:info     --version <version>              inspect a version