get_current_user

(PHP 4, PHP 5, PHP 7)

get_current_user获取当前 PHP 脚本所有者名称

说明

get_current_user ( void ) : string

返回当前 PHP 脚本所有者名称。

返回值

以字符串返回用户名。

范例

Example #1 get_current_user() 例子

<?php
echo 'Current script owner: ' get_current_user();
?>

以上例程的输出类似于:

Current script owner: SYSTEM

参见

User Contributed Notes

Anonymous 15-Aug-2016 06:51
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().
login dot naitsirch at arcor dot de 02-Jul-2015 08:52
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
?>
nick at little-apps dot org 21-Aug-2013 05:06
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'));
?>
south dot bucks at gmail dot com 29-Aug-2012 02:01
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
s dot bond1 at lse dot ac dot uk 10-May-2007 05:17
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.
justin samuel 08-Oct-2005 11:45
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'];
?>