Skip to content

Configuration Files

PHM installs each PHP version in a separate directory:

/opt/php/8.5/
├── bin/ # Executables
│ ├── php
│ ├── phpize
│ ├── php-config
│ └── pecl
├── sbin/
│ └── php-fpm # PHP-FPM
├── etc/
│ ├── cli/
│ │ └── php.ini # CLI configuration
│ ├── fpm/
│ │ └── php.ini # FPM configuration
│ ├── php-fpm.conf # Main FPM configuration
│ ├── php-fpm.d/
│ │ └── www.conf # Pool configuration
│ └── conf.d/ # Extension configuration
│ ├── 10-opcache.ini
│ └── 20-redis.ini
└── lib/php/extensions/
└── no-debug-non-zts-*/ # Extension files (.so)
├── redis.so
└── ...

PHM uses separate php.ini files for CLI and FPM:

SettingCLIFPM
memory_limit-1 (unlimited)128M
max_execution_time0 (unlimited)30
display_errorsOnOff
Terminal window
# Edit the CLI php.ini file
nano /opt/php/8.5/etc/cli/php.ini
# Or append to the file:
echo "memory_limit = 512M" >> /opt/php/8.5/etc/cli/php.ini
Terminal window
# Edit the FPM php.ini file
nano /opt/php/8.5/etc/fpm/php.ini
# Or append to the file:
echo "memory_limit = 256M" >> /opt/php/8.5/etc/fpm/php.ini
# Restart PHP-FPM
phm fpm restart 8.5

PHM makes it easy to enable and disable extensions:

CommandDescription
phm ext listList extensions
phm ext enable redisEnable extension
phm ext disable xdebugDisable extension
phm ext enable opcache --sapi fpmEnable for FPM only

Extensions are configured via .ini files in the conf.d directory:

/opt/php/8.5/etc/conf.d/
├── 10-opcache.ini # Loaded first (priority 10)
├── 20-redis.ini # Loaded second (priority 20)
├── 20-igbinary.ini
└── 20-mongodb.ini
20-redis.ini
extension=redis.so
# 10-opcache.ini (uses zend_extension)
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000