PHP Conference Japan 2024

posix_geteuid

(PHP 4, PHP 5, PHP 7, PHP 8)

posix_geteuid返回当前进程的有效用户 ID

描述

posix_geteuid(): int

返回当前进程的数值有效用户 ID。另请参见 posix_getpwuid(),了解如何将其转换为可用的用户名。

参数

此函数没有参数。

返回值

返回用户 ID,作为 int

示例

示例 #1 posix_geteuid() 示例

此示例将显示当前用户 ID,然后使用 posix_seteuid() 将有效用户 ID 设置为另一个 ID,然后显示真实 ID 和有效 ID 之间的区别。

<?php
echo posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10001
posix_seteuid(10000);
echo
posix_getuid()."\n"; //10001
echo posix_geteuid()."\n"; //10000
?>

参见

添加备注

用户贡献的备注 2 条备注

divinity76+spam at gmail dot com
2 年前
如果您出于某种原因需要 euid 而不依赖于 php-posix 的可用性,请尝试

<?php
function geteuid_without_posix_dependency(): int
{
try {
// 如果可用,此方法更快
return \posix_geteuid();
} catch (
\Throwable $ex) {
// php-posix 不可用.. 回退到 hack
$t = tmpfile();
$ret = fstat($t)["uid"];
fclose($t);
return
$ret;
}
}
匿名
2 个月前
请注意,上面显示的示例代码无效,将失败,因为 UID 10001 无法使用 posix_seteuid 将其 UID 更改为 10000
To Top