PHP-FPM 以 root 身份运行 PHP 脚本

PHP-FPM 以 root 身份运行 PHP 脚本

我有一个使用 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'];

相关内容