我找不到使用 CGI (suPHP) 在 PHP 中获取用户主目录的方法(例如/home/jack;bash 中的任何 ~ 指向)。$_ENV 数组为空,getenv('HOME') 不返回任何内容。
我想这样做的原因是在没有配置的情况下,我想在/home/user/.myappnamehere中找到我的应用程序使用的变量文件,就像大多数 Linux 应用程序一样。
我已经建立了一些东西,但它不是最好的;虽然它有效,但它对系统有很多假设(例如 /etc/passwd 的存在)
$usr = get_current_user();
$passwd = file('/etc/passwd');
$var = false;
foreach ($passwd as $line) {
if (strstr($line, $usr) !== false) {
$parts = explode(':', $line);
$var = realpath($parts[5].'/.report');
break;
}
}