Description
The PHP-FPM component is responsible for managing the PHP-FPM service and all settings around it.
Settings
- Version - The version of PHP you would like to run. (see Versions)
-
Post rollup commands - This allows you to run a common set of commands before the instance is ready. This is useful if you require a package such as
gulp
to build your site that isn't available by default. - Run command as - The user to run the "Post rollup commands" as.
The root user, is a true root user. This means it is possible to break your instances, please proceed with caution
-
Enable Xdebug - If Xdebug should be enabled on your instance.
This setting has no effect on your production instance, it will just set the default value that is inherited by all development instances. - Debug Location - If you would like to use remote debug, the location you would like to run the debugger.
- Outgoing Mail - This value has no effect on live instances, it simply sets a default for development instances. If set to disabled, no email will leave the instance at all. If set to enabled email will leave and likely hit spam folders. If set to 'Intercept with Mailcatcher', all outgoing mail will be sent but caught by the MailCatcher helper, and not go any further.
- Additional Config - Any additional PHP setting you would like.
PHP Versions
Version | Status | Composer 1 Version | Composer 2 Version | Xdebug Version | Supported Until | SSH Version | Additional Notes |
8.3.8 | Active | 2.2.23 | 3.0.3 | 2026-11-23 | 9.7 | ||
8.3.6 | Active | 2.2.23 | 3.0.3 | 2026-11-23 | 9.7 | ||
8.3.4 | Deprecated | 2.2.23 | 3.0.3 | 2026-11-23 | |||
8.2.20 | Active | 2.2.23 | 3.0.3 | 2025-12-08 | |||
8.2.18 | Active | 2.2.23 | 3.0.3 | 2025-12-08 | 9.7 | ||
8.2.17 | Deprecated | 2.2.23 | 3.0.3 | 2025-12-08 | |||
8.2.3 | Deprecated | 1.10.22 | 2.1.8 | 3.0.3 | 2025-12-08 | ||
8.1.29 | Active | 2.2.23 | 3.3.1 | 2024-11-25 | 9.7 | ||
8.1.29 | Active | 2.2.23 | 3.3.1 | 2024-11-25 | 9.8p1 | ||
8.1.28 | Deprecated | 2.2.23 | 3.3.1 | 2024-11-25 | 9.7 | ||
8.1.27 | Deprecated | 2.2.23 | 3.3.1 | 2024-11-25 | |||
8.1.16 | Deprecated | 1.10.22 | 2.1.8 | 3.0.3 | 2024-11-25 | ||
8.1.10 | Deprecated | 1.10.22 | 2.1.8 | 3.0.3 | 2024-11-25 | ||
8.1.0 | Deprecated | 1.10.22 | 2.1.8 | 3.0.3 | 2024-11-25 | ||
8.0.23 | Deprecated | 2.1.8 | 3.0.3 | 2023-11-26 | |||
8.0.2 | Deprecated | 2.1.8 | 3.0.3 | 2023-11-26 | |||
7.4.33 | Active | 1.10.22 | 2.1.8 | 2.9.2 | 2022-11-28 | ||
7.4.8 | Deprecated | 1.10.22 | 2.1.8 | 2.9.2 | 2022-11-28 | ||
7.4.3 | Deprecated | 1.10.22 | 2.1.8 | 2.9.2 | 2022-11-28 | ||
7.4.1 | Deprecated | 1.10.22 | 2.1.8 | 2.9.2 | 2022-11-28 | ||
7.3.13 | Deprecated | 1.10.22 | 2.1.8 | 2.7.2 | 2021-12-06 | ||
7.2.26 | Deprecated | 1.10.22 | 2.1.8 | 2.7.2 | 2020-11-30 | ||
7.2.22 | Deprecated | 1.10.22 | 2.1.3 | 2.7.2 | 2020-11-30 | ||
7.2 | Deprecated | 1.9.0 | 2.1.3 | 2020-11-30 | |||
7.1.31 | Deprecated | 1.10.22 | 2.1.8 | 2.7.2 | 2019-12-01 | ||
7.1 | Deprecated | 1.9.0 | 2.1.3 | 2019-12-01 | |||
7.0.33 | Deprecated | 1.9.0 | 2.1.8 | 2.5.5 | 2019-01-10 | ||
7.0 | Deprecated | 1.9.0 | 2.1.3 | 2019-01-10 | |||
5.6.40 | Deprecated | 1.10.22 | 2.1.8 | 2.5.5 | 2018-12-31 | ||
5.6 | Deprecated | 1.9.0 | 2.1.3 | 2018-12-31 |
*Deprecated Versions do not receive any updates.
**Versions no longer supported can be used, but our support team will be unable to assist with issues.
Memory Limits
The `memory_limit` for non dedicated production instances (production instances <= medium size) have a fixed 2G memory limit. Large or X-Large can have any memory limit (upto the amount of memory available on the server).
Composer
If there are multiple versions of composer available composer, MDOQ will ensure the composer version you have selected will always be available with
composer
If you are installing packages from source, e.g Github you may need to add Githubs keys to the known keys. You will likely see an error like The authenticity of host 'github.com"in the composer install logs. You can do this by adding
su - magento -c "if [ ! -d ~/.ssh ]; then mkdir ~/.ssh; fi; ssh-keyscan github.com >> ~/.ssh/known_hosts"
to your custom PHP-FPM configuration.
Environment Variables
Within the PHP-FPM container (or via SSH) the following environment variables are available. These environment variables can be useful in configuration as code. For more information on configuration as code please see the Post Roll Up Actions Component.
Variable Name | Possible Values | Description |
MDOQ_INSTANCE_ID |
1111 |
A number representing the ID of the current instance |
MDOQ_INSTANCE_TYPE |
bug |
A string representing the type of the current instance |
MDOQ_INSTANCE_TICKET_NUMBER |
bug-fix-001 |
A string representing the ticket number / branch of the current instance |
MDOQ_ENABLE_SSH |
yes |
A string representing if ssh is enabled for the instance |
COMPOSER_VERSION |
2.2.23 |
The version of composer selected. |
Custom Configuration
In some circumstances you may need to configure PHP (i.e install additional packages). Doing this is simple.
- Create the file `mdoq/php-fpm/configure` (make it executable)
#!/bin/bash -xe # apt install -y nano
- Add this file to source control
- Instance Settings > PHP-FPM > Post Rollup commands:
cd /home/magento/htdocs; ./mdoq/php-fpm/configure
- Instance Settings > PHP-FPM > Run commands as: `root`
N.B if you run as root do NOT run magento commands. - Save settings
- Sync PHP-FPM