Configurations PHP : CLI ou FPM ?

Lorsqu'on doit modifier les configurations de PHP, il est important de comprendre la différence entre les environnements d'exécution CLI et FPM.

▼Publicité

  • CLI (Command Line Interface) est un environnement d'exécution en ligne de commande;
  • FPM (FastCGI Process Manager) est un environnement d'exécution pour les serveurs HTTP.

FPM

Lorsque vous exécutez normalement votre application Web via un navigateur, c'est l'interface FPM qui est utilisée.

Pour connaître les configurations qui seront utilisées lorsque PHP est exécuté par un serveur HTTP, pendant la phase de débogage, on ajoutera l'instruction suivante dans le code PHP qui génère une page Web :

PHP

phpinfo();

Attention : les informations dévoilées par phpinfo() peuvent ouvrir un trou de sécurité. Veillez à ce la page qui contient cette instruction ne puisse être visible que par les administrateurs du site.

Les configurations sont généralement placées dans le dossier /etc/php/7.0/fpm/conf.d. Elles peuvent être toutes dans le fichier php.ini ou être éclatées dans différents fichiers.

Si vous modifiez une des configurations de PHP, vous devrez redémarrer le service :

Console Vagrant SSH

service php7.0-fpm restart

Sous Homestead, vous devrez fournir le mot de passe de l'usager vagrant, qui est lui aussi vagrant.

CLI

Vous n'utiliserez l'interface CLI que si vous travaillez en PHP à la ligne de commande.

Pour connaître les configurations qui seront utilisées lorsque PHP est exécuté à la ligne de commande :

Console Vagrant SSH

php -ini

Comme la sortie de cette commande est très longue, il est possible de la combiner à la commande grep pour ne voir que les lignes qui contiennent un mot donné :

Console Vagrant SSH

php -ini | grep xdebug

Les configurations sont généralement placées dans le dossier /etc/php/7.0/cli/conf.d. Ici encore, les configurations peuvent être toutes dans php.ini ou encore éclatées en plusieurs fichiers.

Il n'est pas nécessaire de redémarrer quoi que ce soit pour que les modifications aux configurations soient prises en compte.

Catégories