如果您想通过用户名而不是 uid 设置 uid,请尝试将其与 posix_getpwnam() 结合使用,
<?php
posix_seteuid (posix_getpwnam("www-data")["uid"]);
posix_setegid(posix_getpwnam("www-data")["gid"]);
?>
请注意,posix_getpwnam() 在每次调用时都会读取 /etc/passwd,如果您需要它快速运行,这应该更快(只读取 passwd 一次)
<?php
$posix_user_info=posix_getpwnam("www-data");
posix_seteuid ($posix_user_info["uid"]);
posix_setegid($posix_user_info["gid"]);
?>
要恢复为 root 用户,只需将它们设置为 0,
<?php
posix_seteuid(0);
posix_setegid(0);
?>