Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/232.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我如何找出哪个用户正在运行当前的php脚本?_Php_Apache - Fatal编程技术网

我如何找出哪个用户正在运行当前的php脚本?

我如何找出哪个用户正在运行当前的php脚本?,php,apache,Php,Apache,当我在服务器上运行php脚本时,我们如何确定该脚本在哪个用户下运行?它是否碰巧在与apache或phpmyadmin相同的用户下运行?我的问题可能框架错误,但我想知道是哪个用户,以便在/varExecutewhoami中为不同的文件夹设置适当的权限: <?php echo exec('whoami'); ?> 使用以下方法: $_SERVER['REMOTE_USER']; echo get_current_user(); 此变量可以设置,也可以不设置。如果您有可用的(在大多

当我在服务器上运行php脚本时,我们如何确定该脚本在哪个用户下运行?它是否碰巧在与apache或phpmyadmin相同的用户下运行?我的问题可能框架错误,但我想知道是哪个用户,以便在/var

Execute
whoami
中为不同的文件夹设置适当的权限:

<?php echo exec('whoami'); ?>

使用以下方法:

$_SERVER['REMOTE_USER'];
echo get_current_user();
此变量可以设置,也可以不设置。

如果您有可用的(在大多数基于Linux的环境中默认启用),则可以使用和获取用户名称(至少在非Windows环境中),如下所示:

另一种(更昂贵的)方法是使用类似exec的shell执行函数来运行whoami:

$username = exec('whoami');
甚至是回勾(尽管可能需要修剪断线):

我个人只需要获取在shell中(在命令行上)运行PHP脚本的用户的用户名。通常,在构建对web服务器正在处理的请求的响应的过程中运行的脚本将作为web服务器用户运行,例如www数据、apache等。在apache中,运行apache/httpd进程的用户使用该指令进行设置

重要提示:不提供运行脚本的用户的用户名,而是提供脚本的所有者。这里的一些答案(适当地被否决)建议使用
get\u current\u user
,但这不会给出运行当前脚本的用户的用户名。

使用以下选项:

$_SERVER['REMOTE_USER'];
echo get_current_user();

请务必阅读评论,因为这个答案看起来并不是你想要的。

不要使用“whoami”。当您执行流程时,在脚本运行期间,用户不一定与有效用户相同。但无论如何,“id”将提供更多有用的信息。而是调用get\u current\u user()。太简单了

Google
php determine user
将为您提供所需信息+1 yfgi。。。。)恐怕你需要提供更多的信息,以便我们能在这里帮助你。为什么要投反对票?这是一个相当体面的问题。@rambocoder因为它非常体面,很容易用谷歌搜索,这意味着某人非常懒惰……:)这不是OP想要的。他想知道编辑后第二人否决投票的系统。就目前情况而言,这确实有效。请看,呵呵,编辑它只是为了能够删除我的否决票(它在某个时间后被锁定。)谢谢:)。我不是真的在抱怨你的。你是对的,lol。虽然这是有效的,但它不是一个特别有效的解决方案,下面使用posix_getpuid(posix_geteuid())的解决方案效率更高,并且能够在shell exec被锁定的服务器上工作。我更喜欢自己使用
id
命令,你会得到这样的输出:
uid=1004(testsite)gid=1005(testsite)groups=1005(testsite),1004(sftp)
根据