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é Le texte se poursuit plus bas
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 :
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.
service php7.x-fpm restart
Sous Homestead, vous devrez fournir le mot de passe de l'usager vagrant, qui est lui aussi vagrant.
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 :
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é :
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.
Site fièrement hébergé chez A2 Hosting.