PHP exec在Windows Server 2008上

时间:2009-08-19 06:03:28

标签: php windows

我已经在Windows Server 2008上的IIS中安装了PHP作为模块,我很难尝试从PHP脚本中执行命令行程序。

我可以使用php-cgi.exe和php-cli.exe执行PHP代码,这让我相信它可能是一个权限问题。

但是,我可以执行一些命令,例如shutdown.exe和dir。

我在ASP.NET文件中尝试了相同的过程,并且遇到了完全相同的问题。

基本上,我想这样做:

EXEC( “路径到执行文件”);

实际上它有效。

2 个答案:

答案 0 :(得分:1)

尝试

exec('path-to-exe-file 2>&1', $output);
var_dump($output);

2>& 1部分应该将错误消息重定向到stdout(在win32上),因此应该显示在$ output中。

答案 1 :(得分:0)

我花了几个小时才意识到出了什么问题......

使用IIS管理器,应用程序池,选择与您的应用程序关联的池,并确保:

ProcessModel.Identity = LocalSystem

ProcessModel.Load User Profile = true