我无法在使用CGI(suPHP)的PHP中找到获取用户主目录(例如/home/jack;bash中指向任何地方)的方法。 $_ENV数组为空,并且getenv('HOME')什么也没有返回。
我想这样做的原因是,在缺少其他配置的情况下,我希望在/home/user/.myappnamehere中找到应用程序使用的变量文件,就像大多数Linux应用程序一样。
我已经构建了一些东西,但它并不是最好的;虽然它可以工作,但它对系统做出了很多假设(例如/etc/passwd的存在)。
我想这样做的原因是,在缺少其他配置的情况下,我希望在/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;
}
}