注意:这个问题可能更适合Stack Overflow,即使它指的是Unix和Linux系统上的PHP(权限提升,权限等).
您可以使用PHP的POSIX函数:
这是一个小例子:
<?php
$userinfo = posix_getpwuid(posix_geteuid());
echo "This script is run with " . $userinfo["name"] . "'s privileges.";
?>
Run Code Online (Sandbox Code Playgroud)
测试...
$ php myfile.php
This script is run with myuser's privileges.
$ sudo php myfile.php
This script is run with root's privileges.
Run Code Online (Sandbox Code Playgroud)
顺便说一下,因为root总是UID 0,所以你可以检查一下posix_geteuid() == 0.
现在,如果您现在想要用户是使用CLI(命令行)还是通过Web服务器,请查看Stack Overflow上的这个问题和php_sapi_name()函数.
另一个注意事项:我很确定以root身份运行PHP脚本并不是最好的想法.您可能想再次考虑脚本真正需要的权限.