Encontrei alguns ajustes para resolver o meu problema.
Primeiro : carregue php.ini
arquivos separados :
Um usuário em um fórum do arch linux postou isso na man php
página:
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.
Se eu estiver criando um /etc/php/php-cli.ini
arquivo, apenas esse arquivo será carregado e não /etc/php/php.ini
com o php
comando cli. php-fpm
ainda está carregando o /etc/php/php.ini
.
Segundo : carregue diferentes configurações do módulo:
Eu encontrei na documentação php a PHP_INI_SCAN_DIR
variável de ambiente. Portanto, mudei o /usr/lib/systemd/system/php-fpm.service
arquivo para /etc/systemd/system/php-fpm.service
e adicionei a seguinte configuração ao arquivo de serviço:
[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
Após reiniciar / recarregar os serviços, o php-fpm carrega apenas os arquivos /etc/php/fpm/conf.d
e não mais de /etc/php/conf.d
. Isso me permite configurar cli e fpm separadamente.
Talvez essa não seja a melhor solução, mas eu me encaixo no meu caso de usuário. Se todos tiverem uma solução melhor, não hesite em postar sua resposta!
--php-ini
e carrega o xdebug apenas no segundo serviço. Obviamente, o segundo serviço precisa ser executado em uma porta / soquete diferente. Eu configureiEnvironment="PHP_INI_SCAN_DIR=/etc/php-debugger.d:"
no meu arquivo de serviço, os dois pontos adicionados para carregar todos os módulos padrão, além do xdebug que copiei nodebugger.d
diretório