在浏览器中打开php文件时,是Linux中的哪个用户执行的?

如题,这样我就可以针对这个用户设置权限了。而且这个用户是怎么关联上的,怎么查看?

阅读 12.5k
4 个回答

是执行 PHP 指令的那个程序的权限。

比如使用 Apache httpd 的 PHP 模块时,(如果没有用 suexec 之类的配置)是 apache 配置文件里指定的用户(比如 www-data)。

比如使用 nginx 通过 FastCGI 传给 php-fpm 时,是 php-fpm 配置文件里指定的用户。

新手上路,请多包涵

最简单的办法,用
ps aux | grep nginx
或者 ps aux | grep php-fpm
再或者 ps aux | grep httpd
查看进程的用户名,那个就是了^_^

是对应的web服务器执行的
nginx 查看nginx.conf里面的user指令
apache 查看apache2.conf里面的User指令,可能倒入了envvars里面的变量
export APACHE_RUN_USER=www-data

或者查看phpinfo里面
Configuration apache2handler
的user/group

除了通过对应配置文件查找之外,一种更方便的方法是打印$_SERVER

通常$_SERVER['USER']就是用户名

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题