Roles Rôle « PHP Applications »
22 octobre 2025 à 16:34Ce rôle est chargé de configurer les pools PHP-FPM.
Il regroupe les pools sous la notion d’application.
Tags internes
- php-apps : Mise en place des éléments PHP de l’application ;
- php-app-configuration : Création des fichiers de configuration ;
- php-app-state : Application de l’activation des fonctionalités ;
- php-pools : Mise en place des pool d’exécution supplémentaires ;
Traitements spécifiques du jeu de tâches
Afin de permettre de filtrer les configurations d’applications lorsque l’on souhaite limiter l’exécution (comme avec les tags), le nom de la variable à fournir est différentes de celle attendue.
| Variable côté jeu de tâches | Variable côté rôle |
|---|---|
php_apps |
applications |
En supplément de ces configurations manuelles, les définitions de Virtual Host pour PHP sont converties en application. Ainsi les vhosts peuvent être étendus avec les configurations pour PHP. Détails de la conversion.
Variables à fournir
| Variable | Type | Requis | Défaut | Description |
|---|---|---|---|---|
applications |
Liste d’objets php_app |
Non | Liste vide | Configuration application PHP (PHP-FPM) |
php_version |
Chaîne | Non | Prédéterminé | Version de PHP à installer, utilise la version connue de la distribution si non spécifié |
php_etc_base |
Chemin | Non | Prédéterminé | Emplacement de la racine de la configuration de PHP, utilise le dossier connu de la distribution si non spécifié |
php_service_prefix |
Chaîne | Prédéterminé | Préfixe du service PHP pour la gestion, utilise le préfixe connu de la distribution si non spécifié | |
php_delegate |
Objet delegation |
Non | Non défini | Informations de délégation lorsque le service est mis en place dans un chroot. Les informations du service dans le parent doivent être initialisées préalablement |
php_socket_path |
Modèle de chemin | Non | /var/run/php-fpm-{name}.sock | Chemin d’accès aux unix domain socket utilisés par PHP-FPM – {name} est remplacé par le nom du pool |
nfs_mountpoints |
Liste de chemins | Non | Liste vide | Liste des chemins des points de montage NFS |
Type phpapp
| Propriété | Type | Requis | Défaut | Description |
|---|---|---|---|---|
app_name |
Identifiant | Oui | Nom de l’application | |
app_prefix |
Chemin | Non | Préfixe pour l’évaluation des chemins | |
app_user |
Identifiant | Oui | Utilisateur exécutant le code PHP, ayant le droit d’accès aux fichiers en lecture / écriture | |
app_group |
Identifiant | Oui | Groupe ayant le droit d’accès aux fichiers de l’application | |
app_manager |
Objet de type pm |
Non | Objet par défaut | Comportement de la gestion des processus |
app_max_requests |
Entier | Non | 0 | Nombre maximum de requêtes traité par un enfant avant son renouvellement |
app_request_terminate_timeout |
Entier | Non | 0 | Temps maximum de traitement d’une requête avant abandon |
app_request_slowlog_timeout |
Entier | Non | 0 | Seuil de temps de traitement pour la journalisation de la requête |
app_flags |
Dictionnaire | Non | Dictionnaire vide | Indicateurs PHP à configurer (On/Off) |
app_values |
Dictionnaire | Non | Dictionnaire vide | Variables PHP à configurer |
app_env |
Dictionnaire | Non | Dictionnaire vide | Variables d’environnement à définir |
app_pools |
Liste d’objets app_pool |
Non | Liste vide | Configurations de traitement PHP supplémentaires |
app_disable |
Booléen | Non | Faux | Désactiver le pool principal de l’application |
app_listen |
Entier de 1 à 65535 | Non | Faux | Port sur lequel le processus PHP-FPM écoute (local ou distant) |
app_listen_restrict |
Texte | Non | Vide | Liste d’adresse IP séparées par des virgule auxquelles restreindre les connexions |
app_listen_user |
Identifiant | Oui | Utilisateur ayant le droit de se connecter aux socket unix | |
app_listen_group |
Identifiant | Oui | Groupe associé à l’utilisateur app_listen_user |
|
app_conf_path |
Chemin | Non | Chemin surchargé où enregistrer la configuration | |
app_logs_path |
Chemin | Non | Chemin surchargé où enregistrer les journaux PHP-FPM | |
app_php_logs_path |
Chemin | Non | Chemin où enregistrer les journaux PHP (optionnel) |
Type app_pool
| Propriété | Type | Requis | Défaut | Description |
|---|---|---|---|---|
name |
Identifiant | Oui | Nom de la configuration supplémentaire | |
manager |
Objet de type pm |
Non | Objet par défaut | Comportement de la gestion des processus |
max_requests |
Entier | Non | 0 | Nombre maximum de requêtes traité par un enfant avant son renouvellement |
request_terminate_timeout |
Entier | Non | 0 | Temps maximum de traitement d’une requête avant abandon |
request_slowlog_timeout |
Entier | Non | 0 | Seuil de temps de traitement pour la journalisation de la requête |
flags |
Dictionnaire | Non | Dictionnaire vide | Indicateurs PHP à configurer (On/Off), surcharge la valeur globale |
values |
Dictionnaire | Non | Dictionnaire vide | Variables PHP à configurer, surcharge la valeur globale |
env |
Dictionnaire | Non | Dictionnaire vide | Variables d’environnement à définir, surcharge la valeur globale |
disable |
Booléen | Non | Faux | Désactiver ce pool |
listen |
Entier de 1 à 65535 | Non | Faux | Port sur lequel le processus PHP-FPM écoute (local ou distant) |
listen_restrict |
Texte | Non | Vide | Liste d’adresse IP séparées par des virgule auxquelles restreindre les connexions |
Type pm
| Propriété | Type | Requis | Défaut | Description |
|---|---|---|---|---|
type |
Choix [static, ondemand, dynamic] |
Non | ondemand |
Type de gestionnaire de processus |
max_children |
Entier | Non | 10 | Nombre maximum de processus enfants |
start_servers |
Entier | Non | Absent | Nombre de processus créés initialement pour le type dynamic |
min_spare_servers |
Entier | Si type == dynamic |
5 | Nombre minimum de processus en attente pour le type dynamic |
max_spare_servers |
Entier | Si type == dynamic |
10 | Nombre maximum de processus en attente pour le type dynamic |
Note : La configuration était uniquement en ondemand avec l’option max_children. Les anciennes configurations sont converties
automatiquement.
Type delegation
| Propriété | Type | Requis | Défaut | Description |
|---|---|---|---|---|
to |
Identifiant | Oui | Identifiant dans l’inventaire du serveur auquel déléguer la gestion du service | |
prefix |
Identifiant | Non | Préfixe supplémentaire du service dans le serveur délégué |
Variables fixées
| Variable | Type | Description |
|---|---|---|
php_etc_bases |
Valeurs prédéfinies des racines de configuration en fonction de la version de PHP | |
php_distro_versions |
Versions de PHP par défaut en fonction du système | |
php_distro_service |
Préfix du service de PHP-FPM par défaut en fonction du système |
Conversion Vhost en Application
Détail de la conversion des champs de Virtual Host en champs d’Application. En premier la configuration commune, en second celle des pool.
Les types de base sont définis dans PhpVhosts.
Configuration commune
Type phpvhost vers phpapp.
| Propriété Application | Type source | Source | Détails |
|---|---|---|---|
app_name |
Propriété Virtual Host | vhost_root_name |
|
app_user |
Propriété Virtual Host | vhost_user |
|
app_group |
Propriété Virtual Host | vhost_group |
|
app_manager |
Propriété Virtual Host | php_manager |
Nouvelle propriété équivalente |
app_max_requests |
Propriété Virtual Host | php_max_requests |
Nouvelle propriété équivalente |
app_request_terminate_timeout |
Propriété Virtual Host | php_request_terminate_timeout |
Nouvelle propriété équivalente |
app_request_slowlog_timeout |
Propriété Virtual Host | php_request_slowlog_timeout |
Nouvelle propriété équivalente |
app_flags |
Propriété Virtual Host | php_flags |
Nouvelle propriété équivalente |
app_values |
Propriété Virtual Host | php_values |
Nouvelle propriété équivalente |
app_env |
Propriété Virtual Host | php_env |
Nouvelle propriété équivalente |
app_pools |
Propriété Virtual Host | php_pools |
Extension du type |
app_disable |
Filtre | app_resolve_disable() |
Calculé depuis les variables php_disable* et php_force*. |
app_listen |
Propriété Virtual Host | php_listen |
|
app_listen_restrict |
Propriété Virtual Host | php_listen_restrict |
Nouvelle propriété équivalente |
app_listen_user |
Fixe | “www-data” | C’est toujours l’utilisateur Apache qui écoute |
app_listen_group |
Fixe | “www-data” | C’est toujours l’utilisateur Apache qui écoute |
app_conf_path |
Calculé | vhosts_base_dir + vhost_name + “conf/php-fpm/” |
Chemin de la configuration dans le Virtual Host |
app_logs_path |
Calculé | vhosts_base_dir + vhost_name + “logs/fpm/” |
Chemin des journaux FPM dans le Virtual Host |
app_php_logs_path |
Calculé | vhosts_base_dir + vhost_name + “logs/php/” |
Chemin des journaux PHP dans le Virtual Host |
Configuration POOL
Type php_pool vers app_pool.
| Propriété Application | Type source | Source | Détails |
|---|---|---|---|
name |
Propriété Virtual Host | name |
|
manager |
Propriété Virtual Host | manager |
Nouvelle propriété équivalente |
max_requests |
Propriété Virtual Host | max_requests |
Nouvelle propriété équivalente |
request_terminate_timeout |
Propriété Virtual Host | request_terminate_timeout |
Nouvelle propriété équivalente |
request_slowlog_timeout |
Propriété Virtual Host | request_slowlog_timeout |
Nouvelle propriété équivalente |
flags |
Propriété Virtual Host | flags |
Nouvelle propriété équivalente |
values |
Propriété Virtual Host | values |
Nouvelle propriété équivalente |
env |
Propriété Virtual Host | env |
Nouvelle propriété équivalente |
disable |
Filtre | app_resolve_disable() |
Calculé depuis les variables disable* et force*. |
listen |
Propriété Virtual Host | listen |
|
listen_restrict |
Propriété Virtual Host | listen_restrict |
Nouvelle propriété équivalente |
Note : Si la propriété socket_path est définie sur le pool, alors il est ignoré par la conversion. Il est assumé qu’il sera créé explicitement.