J'ai trouvé quelques ajustements pour résoudre mon problème.
Tout d'abord : chargez un php.ini
fichier séparé :
Un utilisateur dans un forum arch linux a posté ceci depuis la man php
page:
FILES
php-cli.ini The configuration file for the CLI version of PHP.
php.ini The standard configuration file will only be used when php-cli.ini cannot be found.
Si je crée un /etc/php/php-cli.ini
fichier, seul ce fichier sera chargé et non /etc/php/php.ini
avec la php
commande cli. php-fpm
charge toujours le fichier /etc/php/php.ini
.
Deuxièmement : charger différentes configurations de modules:
J'ai trouvé dans la documentation php la PHP_INI_SCAN_DIR
variable d'environnement. J'ai donc déplacé le /usr/lib/systemd/system/php-fpm.service
fichier vers /etc/systemd/system/php-fpm.service
et ajouté la configuration suivante au fichier de service:
[Unit]
Description=The PHP FastCGI Process Manager
After=syslog.target network.target
[Service]
Type=notify
Environment="PHP_INI_SCAN_DIR=/etc/php/fpm/conf.d" ; <-- I have added this line
PIDFile=/run/php-fpm/php-fpm.pid
ExecStart=/usr/bin/php-fpm --nodaemonize --fpm-config /etc/php/php-fpm.conf
ExecReload=/bin/kill -USR2 $MAINPID
[Install]
WantedBy=multi-user.target
Après avoir redémarré / rechargé les services, php-fpm charge uniquement les fichiers depuis /etc/php/fpm/conf.d
et plus depuis /etc/php/conf.d
. Cela me permet de configurer cli et fpm séparément.
Ce n'est peut-être pas la meilleure solution mais je correspond à mon cas d'utilisation. Si tout le monde a une meilleure solution, n'hésitez pas à poster votre réponse!
--php-ini
, puis chargez le xdebug uniquement dans le second un service. Bien sûr, le deuxième service doit s'exécuter sur un port / socket différent. J'ai misEnvironment="PHP_INI_SCAN_DIR=/etc/php-debugger.d:"
dans mon fichier de service, les deux points ajoutés afin qu'il charge tous les modules par défaut en plus de celui de xdebug que j'ai copié dans le répertoiredebugger.d
.