我有一个使用 nginx 和 PHP-FPM 监听 Unix 套接字的 Web 服务器。在我的 php-fpm.conf 中,我指定了
user = www
group = www
当我跑步时辅助,我可以看到 php-fpm 工作进程以 www 身份运行;php-fpm 主进程以 root 身份运行。
然而,我注意到 PHP 脚本是以 root 身份执行的;至少这是
echo get_current_user();
我该怎么做才能以 www 用户身份运行脚本? 如果工作进程以 www 身份运行,怎么会发生这种情况?
答案1
获取当前用户()返回脚本的当前所有者,而不是执行脚本的用户。要获取执行脚本的当前用户,请尝试exec('whoami');
或
$user = posix_getpwuid(posix_getuid());
echo $user['name'];