I have found a few tweaks to solve my problem.
First: load a separate php.ini
files:
A user in a arch linux forum posted this from the 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.
If I creating a /etc/php/php-cli.ini
file only this file will be loaded and not /etc/php/php.ini
with the php
cli command. php-fpm
is still loading the /etc/php/php.ini
.
Second: load different module configurations:
I have found in the php documentation the PHP_INI_SCAN_DIR
environment variable.
Therefore I have moved the /usr/lib/systemd/system/php-fpm.service
file to /etc/systemd/system/php-fpm.service
and added the following configuration to the service file:
[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
After restarting/reloading the services, php-fpm loads only the files from /etc/php/fpm/conf.d
and no longer from /etc/php/conf.d
. This allows me to configure cli and fpm separately.
Perhaps this is not the best solution but I fits to my usecase. If everyone have a better solution, don't hesitate to post your answer!