php.d 目錄的用途

前言

在 CentOS 上透過 yum 安裝 php 及相關的模組後,可以發現在許多模組的配置文件是放置在 /etc/php.d 目錄下,不需要另外手動在 /etc/php.ini 添加,也能夠正常使用新安裝的模組。

說明

這是因為透過 yum 安裝的 php,會建立 /etc/php.d 目錄,並指定該目錄為 php.ini 之外的其他 ini 文件預設目錄。因此使用 yum 安裝的 php 模組,就會將模組的 ini 配置文件建立在 /etc/php.d 目錄下。

如果是下載原始碼進行編譯、安裝,在執行 configure 的時候,是可以透過使用 --with-config-file-path--with-config-file-scan-dir 這兩個變數,指定 php.ini 文件及其他模組的 ini 文件的所在目錄。例如下面的範例就是指定 php.ini 放在 /etc 目錄下,而其他模組的 ini 文件則是放在 /etc/php.d 目錄下。

$ ./configure --with-config-file-path=/usr/local/php/etc --with-config-file-scan-dir=/etc/php.d

如果想要查詢目前 ini 文件相關目錄的配置,可以使用 php --ini 指令查詢。

$ 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/10-opcache.ini,
/etc/php.d/20-bcmath.ini,
/etc/php.d/20-bz2.ini,
/etc/php.d/20-calendar.ini,
/etc/php.d/20-ctype.ini,
/etc/php.d/20-curl.ini,
/etc/php.d/20-dom.ini,
/etc/php.d/20-exif.ini,
/etc/php.d/20-fileinfo.ini,
/etc/php.d/20-ftp.ini,
/etc/php.d/20-gd.ini,
/etc/php.d/20-gettext.ini,
/etc/php.d/20-iconv.ini,
/etc/php.d/20-intl.ini,
/etc/php.d/20-json.ini,
/etc/php.d/20-mbstring.ini,
/etc/php.d/20-mysqlnd.ini,
/etc/php.d/20-pdo.ini,
/etc/php.d/20-phar.ini,
/etc/php.d/20-posix.ini,
/etc/php.d/20-shmop.ini,
/etc/php.d/20-simplexml.ini,
/etc/php.d/20-soap.ini,
/etc/php.d/20-sockets.ini,
/etc/php.d/20-sodium.ini,
/etc/php.d/20-sqlite3.ini,
/etc/php.d/20-sysvmsg.ini,
/etc/php.d/20-sysvsem.ini,
/etc/php.d/20-sysvshm.ini,
/etc/php.d/20-tokenizer.ini,
/etc/php.d/20-xml.ini,
/etc/php.d/20-xmlwriter.ini,
/etc/php.d/20-xsl.ini,
/etc/php.d/30-mysqli.ini,
/etc/php.d/30-pdo_mysql.ini,
/etc/php.d/30-pdo_sqlite.ini,
/etc/php.d/30-xmlreader.ini,
/etc/php.d/30-xmlrpc.ini,
/etc/php.d/30-zip.ini,
/etc/php.d/40-apcu.ini,
/etc/php.d/40-igbinary.ini,
/etc/php.d/40-msgpack.ini,
/etc/php.d/40-swoole.ini,
/etc/php.d/50-redis.ini

參考資料

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端