要获取进程所有者的用户名(而不是文件所有者),可以使用
<?php
$processUser = posix_getpwuid(posix_geteuid());
print $processUser['name'];
?>
(PHP 4, PHP 5, PHP 7, PHP 8)
get_current_user — 获取当前PHP脚本所有者的名称
此函数没有参数。
返回用户名作为字符串。
示例 #1 get_current_user() 示例
<?php
echo '当前脚本所有者: ' . get_current_user();
?>
以上示例将输出类似于以下内容
Current script owner: SYSTEM
要获取进程所有者的用户名(而不是文件所有者),可以使用
<?php
$processUser = posix_getpwuid(posix_geteuid());
print $processUser['name'];
?>
在 Centos(Red Hat Linux 的克隆)上,此指令给出文件的拥有者(指令“chown”中的第一个参数)。它不会显示文件的组。
get_current_user() 不会显示当前进程用户的身份。
参见:posix_getuid() - 返回当前进程的真实用户ID
get_current_user() 返回的信息似乎取决于平台。
使用在 Windows NT 上使用 IIS 5.0 作为 CGI 运行的 PHP 5.1.1,get_current_user() 返回运行脚本的进程的所有者,*而不是*脚本本身的所有者。
很容易测试 - 创建一个包含以下内容的文件
<?php
echo get_current_user();
?>
然后通过浏览器访问它。我得到:IUSR_MACHINE,Windows 上的 Internet 来宾帐户,这肯定不是脚本的所有者。