脚本作为超级用户执行

Dan*_*Lee 1 php admin root

如何从我的PHP脚本中判断它是否以超级用户权限执行?

如果没有调用它就像sudo php script.php我可以抛出一个错误

if (!is_sudo()) {
  die('Please execute with sudo');
}
Run Code Online (Sandbox Code Playgroud)

我确信有一种简单的方法可以检查,但我还没有找到它

Mih*_*rga 5

你可以使用posix_getuid()(0是root):

if (posix_getuid() != 0) {
    die('Please execute with sudo');
}
Run Code Online (Sandbox Code Playgroud)

正如@Dave Random建议:

function is_sudo () {
    return posix_getuid() === 0;
}
Run Code Online (Sandbox Code Playgroud)