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.
get_current_user
(PHP 4, PHP 5)
get_current_user — 現在の PHP スクリプトの所有者の名前を取得する
説明
string get_current_user
( void
)
現在の PHP スクリプトの所有者の名前を返します。
返り値
ユーザ名を表す文字列。
例
例1 get_current_user() の例
<?php
echo 'Current script owner: ' . get_current_user();
?>
上の例の出力は、 たとえば以下のようになります。
Current script owner: SYSTEM
参考
- getmyuid() - PHP スクリプト所有者のユーザ ID を取得する
- getmygid() - PHP スクリプトの所有者の GID を得る
- getmypid() - PHP のプロセス ID を取得する
- getmyinode() - 現在のスクリプトの inode を取得する
- getlastmod() - 最終更新時刻を取得する
get_current_user
s dot bond1 at lse dot ac dot uk
10-May-2007 09:17
10-May-2007 09:17
tmacedo at linux dot ime dot usp br
22-Nov-2006 04:46
22-Nov-2006 04:46
<?php
/**
* addendum to 'SiliconExpress at Techie dot com' post:
* at Win32 enviroment, you have:
**/
var_dump(strcmp($_SERVER['SCRIPT_FILENAME'], __FILE__));
// output: int(0)
/**
* but you can use, instead:
**/
var_dump(strcmp(realpath($_SERVER['SCRIPT_FILENAME']), __FILE__));
// output: int(-1)
?>
justin samuel
09-Oct-2005 03:45
09-Oct-2005 03: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'];
?>
