为什么exec和proc_open在IIS上的不同用户下运行?

Jan*_*ček 5 php iis exec proc-open

我在Windows Server 2012 R2和IIS 8.5上运行我的网站,我遇到了问题.

  • 当我跑exec('whoami'),它返回nt authority\iusr.
  • 当我跑步时proc_open('whoami', $desc, $pipes),结果是iis apppool\mysite.

为什么会这样?

小智 0

这太有趣了。这肯定与 proc_open 的性质有关。不知何故,它进入共享 iis 池,该池具有与 IIS 上使用的标准用户不同的权限。您可能已经知道 proc_open 请求更高级别的控制,而 Windows 下的 php 可能需要额外的权限才能获得该控制。