FPM utilise la syntaxe php.ini pour son fichier de configuration - php-fpm.conf.
Cheemin vers le fichier PID. Par défaut: none.
Chemin vers le fichier de journal. Par défaut: #INSTALL_PREFIX#/log/php-fpm.log.
Niveau de journalisation d'erreur. Valeurs possibles: alert, error, warning, notice, debug. Par défaut: notice.
Si ce nombre de processus fils terminent avec un SIGSEGV ou SIGBUS dans l'intervalle de temps précisé dans emergency_restart_interval, alors FPM redémarrera. Une valeur de 0 signifie 'Off'. Valeur par défaut: 0 (Off).
Interval de temps utilisé par emergency_restart_interval pour determine lorsqu'un redémarrage doux doit être lancé. Ceci peut être utile pour contourner des corruptions accidentelles dans la méémoire partagée d'un acccelérateur. Unités disponibles: s(econdes), m(inutes), h(eures), ou d(ays). Unité par défaut: secondes. Valeur par défaut: 0 (Off).
Temps limite qu'attendront les processus fils pour réagir aux signals du père. Unités disponibles: s(econdes), m(inutes), h(eures), ou d(ays) Unité par défaut: secondes. Valeur par défaut: 0.
Envoie FPM en arrière plan. Mettez 'no' pour garder FPM au premier plan lors du débogage. Valeur par défaut: yes.
Avec FPM vous pouvez executer plusieurs pools de processus avec des paramètres différents. Voici les paramètres qui peuvent être ajustés par pool.
L'adresse pour accepter des requêtes FastCGI. Syntaxes valides: 'ip.add.re.ss:port', 'port', '/path/to/unix/socket'. Cette option est obligatoire pour chaque pool.
Affecte listen(2) backlog. Une valeur de '-1' signifie illimité. Valeur par défaut: -1.
Liste d'adresses ipv4 des clients FastCGI autorisés à se connecter. C'est équivalent à la variable d'environnement FCGI_WEB_SERVER_ADDRS dans le système FastCGI original de PHP (5.2.2+). N'a de sens qu'avec une socket tcp en écoute. Chaque adresse doit être séparée par une virgule. Si cette valeur n'est pas précisée, les connections seront accceptées depuis toute adresse ip. Valeur par défaut: any.
Affecte les permissions pour la socket unix si utilisée. Sous Linux, les permissions read/write doivent être affectées pour autoriser des connections depuis un serveur web. Beaucoup de systèmes dérivés BSD autorisent les connections quelles que soient les permissions. Valeurs par défaut: user et group sont ceux de l'utilisateur courant, le mode est 0666.
Voyez listen.owner.
Voyez listen.owner.
Utilisateur Unix des processus FPM. Cette option est obligatoire.
Groupe Unix des processus FPM. Si non précisé, le groupe de l'utilisateur est utilisé.
Choisi comment le gestionnaire de processus va contrôler le nombre de processus fils. Valeurs possibles: static, dynamic. Option obligatoire.
static - nombre de processus fils fixés (pm.max_children).
dynamic - nombre de processus fils dynamiques basé sur le directives suivantes: pm.max_children, pm.start_servers, pm.min_spare_servers, pm.max_spare_servers.
Nombre de processus fils à créer lorsque pm est réglé sur static. Nombre maximum de processus fils à créer lorsque pm est réglé sur dynamic. Options obligatoire.
Cette option affecte la limite du nombre de requêtes simultanées qui seront servies. Equivalent à ApacheMaxClients avec mpm_prefork et à PHP_FCGI_CHILDREN dans l'implémentation originale de FastCGI de PHP.
Nombre de processus fils à créer au démarrage. Utilisé seulement si pm est réglé sur dynamic. Valeur par défaut: min_spare_servers + (max_spare_servers - min_spare_servers) / 2.
Nombre minimum de processus au repos (idle) voulus. Utilisé seulement si pm est réglé sur dynamic. Obligatoire dans ce cas.
Nombre maximum de processus au repos (idle) voulus. Utilisé seulement si pm est réglé sur dynamic. Obligatoire dans ce cas.
Nombre de requête que chaque processus fils devrait exécuter avant de renaitre. Ceci peut être utile pour contourner des fuites mémoires dans des librairies tierces. Pour un traitement sans fin des requêtes, précisez '0'. Equivalent à PHP_FCGI_MAX_REQUESTS. Par défaut: 0.
L'URI vers la page de statut de FPM. Si cette valeur n'est pas précisée, aucune page de statut ne sera utilisée, ce qui est le cas par défaut.
L'URI de ping pour appeler la page de monitoring de FPM. Si aucune valeur n'est précisée, aucune page de ping ne sera disponible. Ceci pourrait être utilisé pour tester depuis l'extérieur si FPM est toujours disponible et prêt à répondre. Notez que la valeur doit commencer par un slash (/).
Cette directive est utile pour personnaliser la réponse à une requête de ping. La réponse est formattée comme text/plain avec un code de réponse de 200. Valeur par défaut: pong.
Le timeout pour servir une requête après lequel le processus concerné sera tué. Cette option devrait être utilisée lorsque l'option 'max_execution_time' ne stoppe pas l'exécution du script pour une raison quelconque. Une valeur de '0' signifie 'Off'. Unités disponibles: s(econdes)(défaut), m(inutes), h(eures), ou d(ays). Par défaut: 0.
Le timeout pour servir une requête dans laquelle la backtrace PHP sera vidée dans le fichier 'slowlog'. Une valeur de '0' signifie 'Off'. Unités disponibles: s(econdes)(défaut), m(inutes), h(eures), ou d(ays). Par défaut: 0.
Le journal pour les requêtes lentes, par défaut: #INSTALL_PREFIX#/log/php-fpm.log.slow.
Affecte la rlimit pour les descripteurs de fichiers ouverts. Valeur par défaut: valeur du système.
Affecte la taille maximale de rlimit. Valeurs possibles: 'unlimited' ou un entier plus grand ou égal à 0. Valeur par défaut: valeur définie par le système.
Chroot vers ce dossier au démarrage. Cette valeur doit être un chemin absolu. Si cette valeur n'est pas définie, chroot n'est pas utilisé.
Chdir vers ce dossier au démarrage. Cette valeur doit être un chemin absolu. Valeur par défaut: dossier courant ou / si chroot.
Redirige stdout et stderr vers le journal d'erreur principal. Si non précisé, stdout et stderr seront redirigés vers /dev/null selon les specifications FastCGI. Valeur par défaut: no.
Il est possible de passer des variables d'environnement additionnelles et mettre à jour les paramètres de PHP d'un pool. Pour ce faire, vous devez ajouter les options suivantes à php-fpm.conf
Exemple #1 Passer des variables d'environnement et des paramètres PHP à un pool
env[HOSTNAME] = $HOSTNAME env[PATH] = /usr/local/bin:/usr/bin:/bin env[TMP] = /tmp env[TMPDIR] = /tmp env[TEMP] = /tmp php_admin_value[sendmail_path] = /usr/sbin/sendmail -t -i -f www@my.domain.com php_flag[display_errors] = off php_admin_value[error_log] = /var/log/fpm-php.www.log php_admin_flag[log_errors] = on php_admin_value[memory_limit] = 32M
Les paramètres définis avec php_admin_value et php_admin_flag ne peuvent être surchargés via ini_set().