我需要返回通过--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");')
但我似乎无法找到必要的配置选项名称。
如果你拥有它,我会非常感谢一些大师的意见!
提前致谢
答案 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()来添加目录名称。可能不是一个班轮,但希望这有帮助。