PHP 8.3.4 Released!

get_current_user

(PHP 4, PHP 5, PHP 7, PHP 8)

get_current_userLiefert den Benutzernamen des Besitzers des aktuellen PHP-Skripts

Beschreibung

get_current_user(): string

Liefert den Namen des Benutzers, welcher der Besitzer der aktuell ausgeführten PHP-Skriptdatei ist.

Parameter-Liste

Diese Funktion besitzt keine Parameter.

Rückgabewerte

Liefert den Benutzernamen als Zeichenkette.

Beispiele

Beispiel #1 get_current_user()-Beispiel

<?php
echo 'Name des Benutzers: ' . get_current_user();
?>

Das oben gezeigte Beispiel erzeugt eine ähnliche Ausgabe wie:

Name des Benutzers: SYSTEM

Siehe auch

  • getmyuid() - Liefert die User-ID des Besitzers eines PHP-Skripts
  • getmygid() - Get PHP script owner's GID
  • getmypid() - Liefert die Prozess-ID eines Skripts
  • getmyinode() - Liefert den Inode des aktuellen Skripts
  • getlastmod() - Liefert die Uhrzeit der letzten Änderung eines Skripts

add a note

User Contributed Notes 7 notes

up
117
justin samuel
18 years ago
to get the username of the process owner (rather than the file owner), you can use:

<?php
$processUser
= posix_getpwuid(posix_geteuid());
print
$processUser['name'];
?>
up
9
south dot bucks at gmail dot com
11 years ago
On Centos, the Red Hat linux clone, this instruction gives the file's OWNER (the first parameter in instruction 'chown'). It does not reveal the file's GROUP.

get_current_user() does NOT reveal the current process' user's identity.

See: posix_getuid() - Return the real user ID of the current process
up
4
s dot bond1 at lse dot ac dot uk
16 years ago
The information returned by get_current_user() seems to depend on the platform.

Using PHP 5.1.1 running as CGI with IIS 5.0 on Windows NT, get_current_user() returns the owner of the process running the script, *not* the owner of the script itself.

It's easy to test - create a file containing:

<?php
echo get_current_user();
?>

Then access it through the browser. I get: IUSR_MACHINE, the Internet Guest Account on Windows, which is certainly not the owner of the script.
up
-5
chris at ocproducts dot com
4 years ago
Further testing of behaviour on Windows vs Linux...

On Linux this function is indeed returning the owner of the script. If you want to know the username PHP is running as you can use POSIX functions (or shell_exec with 'whoami').

On Windows this function is returning the username PHP is running as. Both for IIS (IUSR) and Apache (SYSTEM - which comes from the fact Apache is a service on Windows).

The behaviour on Windows is actually useful given that POSIX functions aren't available. If you need to find the owner of the script on Windows perhaps the best way is to shell_exec to use dir /Q, and parse that.
up
-29
nick at little-apps dot org
10 years ago
Since this only returns the file owner and not the actual user running the script, an alternative in Linux is:

<?php
$current_user
= trim(shell_exec('whoami'));
?>
up
-24
login dot naitsirch at arcor dot de
8 years ago
If you want to get the name of the user who executes the current PHP script, you can use

<?php
$username
= getenv('USERNAME') ?: getenv('USER');
echo
$username; // e.g. root or www-data
?>
up
-23
Anonymous
7 years ago
If you have userdir enabled, get_current_user() returns the username of the user hosting the public_html. For example, http://example.com/~bobevans/somescript.php will return bobevans when calling get_current_user().
To Top