从php获取apache linux用户

Mar*_*ler 28 php apache

我在国外的Linux系统上,需要确定运行apache的用户(php也是如此).

目标:我需要获取脚本的所有者(这不是问题,因为我可以使用SplFileInfo)并将其与apache进程的所有者进行比较.

我对任何其他提案持开放态度.

此致,马里奥

编辑:附加信息:

该脚本是缩略图生成器,它使用XML文件从较大的图像生成拇指.该脚本需要创建文件夹和写入文件.因为我不能影响php配置,我没有任何shell访问权限,所以必须非常默默地完成.创建过程通过异常停止并在失败时发送邮件.由于大多数php的函数不能在failue上抛出异常,我需要一些手动检查来确定我所处的环境.因此我需要apache用户将它与某个目录或文件所有者进行比较.

gra*_*ntc 53

你可以调用php exec函数来执行whoami:

<?php echo exec('whoami'); ?>
Run Code Online (Sandbox Code Playgroud)


Ano*_*ous 8

请参阅posix_getuid()和posix_getpwuid()


Jam*_*arl 5

这里有一些复杂的答案

这对我有用:

$user = getenv('APACHE_RUN_USER');
Run Code Online (Sandbox Code Playgroud)

不确定这是否只是一个新的东西,已经被添加到apache,因为这个问题被问到,但它现在肯定存在.