PHP. Получить домашний каталог пользователя (для виртуального хостинга)

Я хочу получить домашний каталог текущего пользователя сценария (nginx / www / apache и т. Д.) В PHP. я использую

$output_message = shell_exec('echo ~'); var_dump($output_message); 

Он корректно работает на моем локальном сервере, на экземплярах Amazon. Но он выводит только «~» на виртуальный хостинг.

Может быть, у вас есть рабочее решение для получения домашней директории текущего пользователя?

заранее спасибо

Я основал рабочее решение:

 $user = posix_getpwuid(posix_getuid()) 

Это возвращает массив, например

 Array ( [name] => username [passwd] => ******** [uid] => 501 [gid] => 20 [gecos] => Full Name [dir] => /home/username [shell] => /bin/bash ) 

Таким образом, чтобы получить доступ к домашнему директорию пользователя, это $user['dir'] .

Используйте $_SERVER['HOME'] или вы пытаетесь

 $home = getenv("HOME"); 

Примечание. Для этого необходимо выполнить сценарий через командную строку.

На большинстве обычных серверов эти демоны (apache, nginx и т. Д.) Не имеют реального «домашнего каталога».

Если вы считаете «виртуальный хостинг», это было бы невозможно, так как для каждого пользователя может быть только один домашний каталог, но у него есть несколько хостов на каждого демона.

Я предполагаю, что вы ищете, ist переменная среды DOCUMENT_ROOT (корневой каталог для текущих документов vhost).

 $_SERVER['DOCUMENT_ROOT']