所以我的环境是安装了php 5.3和5.5的Windows server 2008 R2。我在php.ini中设置了fastcgi.impersonate =1
,并将IIS_IUSRS
添加到管理员组(这不是永久性的,只是尝试消除问题的临时操作)。
如果我跑:
exec('dir',$output)
$output
显示了我的期望。但是,如果我跑
exec('shutdown -s -f', $output)
我从$output
得不到任何东西,机器也没有关闭。
也没有报告错误/警告。
我尝试将相同的命令放在.bat文件中并运行
exec('shutdown.bat',$output);
但它产生的结果与通过命令行运行shutdown命令的结果相同。
如果我通过双击运行shutdown.bat
文件,或者如果我在cmd窗口中键入shutdown命令,则计算机将关闭。所以我知道命令很好。显然,我缺少一个更高的权限问题,但我不知道它是什么。
答案 0 :(得分:0)
所以,我发现了很多试验和灾难(至少在服务器2008 r2 w / IIS7中)从fast_cgi或php执行shutdown命令是不可能的。我只需要安装apache并在其下执行shutdown命令,命令工作正常。