以 root 身份从命令行使用 PHP,php.d/ 目录中的所有内容均按预期加载:
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...
但是,作为非 root 用户,不会加载任何文件:
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)
因为我们的 Web 应用程序具有命令行界面,所以我们需要 php 从 CLI 加载所有模块。
php.d/* 上的权限是宽松的。