Using PHP from the commandline, as root, everything in the php.d/ directory is loaded as expected:
root@tlsv2-eepweb-01:/home/web>php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed: /etc/php.d/bcmath.ini,
/etc/php.d/curl.ini,
/etc/php.d/dom.ini,
/etc/php.d/fileinfo.ini,
/etc/php.d/gd.ini,
/etc/php.d/json.ini,
etc...
However, as a non-root user, none of the files are loaded:
web@tlsv2-eepweb-01:~>php --ini
Configuration File (php.ini) Path: /etc
Loaded Configuration File: /etc/php.ini
Scan for additional .ini files in: /etc/php.d
Additional .ini files parsed: (none)
Because our web app has a commandline interface, we need php to load all modules from the CLI.
Permissions on php.d/* are permissive.