Formation PUB030 : Laravel, 2019 Déboguer une application Laravel

17.1 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.

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

▼Publicité Le texte se poursuit plus bas

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.

Sous Homestead, les configurations sont généralement placées dans le dossier /etc/php/7.x/fpm/conf.d. Elles peuvent être toutes dans le fichier php.ini ou être éclatées dans différents fichiers.

Prenez note que si votre installation contient des fichiers nommés php.ini-production et php.ini-development, ces fichiers ne sont que des exemples et ne sont pas pris en compte par PHP. Si un de ces fichiers contient la configuration que vous recherchez, vous devez la copier dans php.ini pour qu'elle soit effective.

Important : si vous modifiez une des configurations de PHP, vous devrez redémarrer le service. Ajustez le nom du service selon la version de PHP utilisée.

Console Vagrant SSH

service php7.x-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. Ce sera le cas, notamment, lorsque vous lancez une commande artisan.

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.x/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.

Veuillez noter que le contenu de cette fiche vous est partagé à titre gracieux, au meilleur de mes connaissances et sans aucune garantie.
Par Christiane Lagacé
Dernière révision le 12 juin 2018
Merci de partager !

Site fièrement hébergé chez A2 Hosting.

Soumettre