php_ini_scanned_files

(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 错误将在编译时和使用 php_ini_scanned_files() 时都会看到。

示例

示例 #1 列出返回的 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";
}
}
}
?>

参见

添加备注

用户贡献的备注 1 则备注

atesin () gmail ! com
5 年前
<warning>

直到我从 <php-dir>/php.d/ 加载更多 .ini 文件(如 phpinfo() 中列出的“扫描此目录以查找附加 .ini 文件”和“解析的附加 .ini 文件”部分),php_ini_scanned_files() 才会返回我任何内容!

然后我意识到我的 php 二进制文件没有使用“--with-config-file-scan-dir”选项编译,如 phpinfo() 中列出的(“配置命令”部分)。

然后我记起附加 .ini 文件目录是通过“PHP_INI_SCAN_DIR”系统变量设置的(从 php 5.2.0 开始,请参阅 https://php.net/manual/en/configuration.file.php#configuration.file.scan)。

直到令人困惑且烦人,才是记录的行为……太糟糕了,现在我不知道如何仅通过 php 函数获取附加的 ini 文件(除了“shell_exec()”以外?)。

</warning>
To Top