Я пытался получить текущий логин для пользователя. Я использую Windows 8.
Когда я выполняю команду как «whoami», тогда я получаю правильное имя пользователя.,
Когда я выполняю то же самое в exec («whoami»); тогда я получу учетную запись пользователя, созданную в этой системе.
Любая идея, почему так происходит.
Я использую приложение PHPDesktop. Даже когда я запускаю BAT в cmd, он возвращает правильное значение. Но тот же BAT возвращает имя учетной записи пользователя при запуске в PHP.
Даже пробовал get_current_user ()., $ _ENV, $ _SERVER,
Неудачно.
Имя учетной записи пользователя (= логин) хранится в переменной среды USERNAME на винде. Так что вам просто нужно получить значение этой переменной среды.
Откройте окно командной строки, просто введите set
и посмотрите на список выходных переменных среды. Теперь вы видите все стандартные переменные среды в Windows, такие как ДАННЫЕ ПРИЛОЖЕНИЯ, USERNAME, ПРОФИЛЬ ПОЛЬЗОВАТЕЛЯ, и т.п.
Смотрите статью в Википедии о Переменные среды Windows для списка предопределенных переменных среды с описанием.
Других решений пока нет …