CGI(suPHP)を使用して、PHPでユーザーのホームディレクトリ(たとえば、 / home / jack ; bashの〜が指すもの)を取得する方法が見つかりません。$ _ENV配列は空であり、getenv('HOME')は何も返しません。
これを実行したい理由は、構成がない場合は、ほとんどのLinuxアプリケーションと同様に、アプリケーションで使用される可変ファイルを/home/user/.myappnamehereで検索するためです。
私は何かを作りましたが、それは最高ではありません。それが機能している間、それはシステムについて多くを想定しています(例えば/ 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;
}
}