检索PHP --with-config-file-scan-dir开关的值

时间:2014-07-30 15:51:18

标签: php

我需要返回通过--with-config-file-scan-dir开关为特定PHP实现配置的文件夹的路径。

我可以通过编写类似的代码来实现这一点:

folder=$(php --ini                                         \
        | grep "Scan for additional .ini files in:"        \
        | cut -d" " -f7       \
        )

但上述方法似乎不准确且可能容易出错。

我的偏好是做以下事情:

folder=$(php -r 'print ini_get("with-config-file-scan-dir config option");')

但我似乎无法找到必要的配置选项名称。

如果你拥有它,我会非常感谢一些大师的意见!

提前致谢

3 个答案:

答案 0 :(得分:3)

您可以使用PHP_CONFIG_FILE_SCAN_DIR

php -r "echo PHP_CONFIG_FILE_SCAN_DIR;"

答案 1 :(得分:0)

也许这会对你有所帮助? http://php.net/manual/en/function.php-ini-scanned-files.php

<?php
if ($filelist = php_ini_scanned_files()) {
    if (strlen($filelist) > 0) {
        $files = explode(',', $filelist);

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

实际上,上面的代码会打印所有扫描的文件...如果你只是想要dir,也许可以找到第一个找到的元素?

<?php
if ($filelist = php_ini_scanned_files()) {
    if (strlen($filelist) > 0) {
        $files = explode(',', $filelist);
        $dir = substr($files[0],0,strrpos($files[0],"/")+1);
        echo $dir;
    }
}
?>

答案 2 :(得分:0)

检查

的返回值
php_ini_loaded_file()

php_ini_scanned_files()

不确定你到底想要什么。第一个给出了加载的php.ini文件的路径。第二个获取其他加载的配置文件的路径和文件名。您可能需要使用dirname()来添加目录名称。可能不是一个班轮,但希望这有帮助。