• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • php_ini_scanned_files()

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

    返回从额外 ini 目录里解析的.ini 文件列表

    说明

    php_ini_scanned_files(void): string

    php_ini_scanned_files()返回解析的php.ini后逗号分隔的配置文件列表。这些文件从编译时--with-config-file-scan-dir选项里指定的目录里找到。

    这些返回的配置文件也包括了--with-config-file-scan-dir选项里声明的路径。

    返回值

    成功时返回逗号分隔的.ini 文件字符串。每个逗号后紧跟新的一行。如果未设置指令--with-config-file-scan-dir将会返回FALSE。如果它设置了,并且目录是空的,将会返回一个空字符串。如果有未识别的文件,此文件也会进入返回的字符串,但是会导致一个 PHP 错误。此 PHP 错误即会在编译时出现也会在使用php_ini_scanned_files()函数时出现。

    范例

    列出返回的 ini 文件的简单例子

    <?php
    if ($filelist = php_ini_scanned_files()) {
        if (strlen($filelist) > 0) {
            $files = explode(',', $filelist);
            foreach ($files as $file) {
                echo "<li>" . trim($file) . "</li>\n";
            }
        }
    }
    ?>
    

    参见

    <warning>
    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 https://php.net/manual/en/configuration.file.php#configuration.file.scan)
    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?)
    </warning>