(PHP 4 >= 4.3.0, PHP 5, PHP 7, PHP 8)

php_ini_scanned_files追加の ini ディレクトリにある .ini ファイルのリストを取得する


php_ini_scanned_files ( ) : string|false

php_ini_scanned_files()は、php.iniをパースした 後で、設定ファイルのリストをカンマ区切りで返します。 ファイルを探すディレクトリは、コンパイル時のオプションで指定します。 また、実行時に環境変数で指定することもできます。詳細は インストールガイド を参照ください。



成功すると、.iniファイルをカンマ区切りにした文字列が返されます。 --with-config-file-scan-dir がセットされておらず、かつ環境変数 PHP_INI_SCAN_DIR も設定されていない場合は falseを返します。指定されたディレクトリが空であれば、 空文字列が返されます。ファイルが認識できないものであれば、 そのファイルは文字列には含まれますが同時にPHPがエラーを起こします。 このエラーはコンパイルの時と、php_ini_scanned_files() 関数を使用したときの両方で発生します。

例1 返される ini ファイルを一覧する例

if ($filelist php_ini_scanned_files()) {
    if (
strlen($filelist) > 0) {
$files explode(','$filelist);

        foreach (
$files as $file) {
"<li>" trim($file) . "</li>\n";


add a note add a note

User Contributed Notes 1 note

atesin () gmail ! com
1 year ago

until i load more .ini files from <php-dir>/php.d/ as listed in phpinfo() (sections "Scan this dir for additional .ini files" and "Additional .ini files parsed"), php_ini_scanned_files() returns me NOTHING!

then i realized my php binary was not compiled with the "--with-config-file-scan-dir" option as listed in phpinfo() (section "Configure Command")

then i remembered the additional .ini files dir was set through the "PHP_INI_SCAN_DIR" system variable (new since php 5.2.0, see

until confusing and annoying, is the documented behavior... too bad now i don't know how to get the additional ini files purely with php functions (except "shell_exec()" maybe?)

To Top