我已经在Windows Server 2008上的IIS中安装了PHP作为模块,我很难尝试从PHP脚本中执行命令行程序。
我可以使用php-cgi.exe和php-cli.exe执行PHP代码,这让我相信它可能是一个权限问题。
但是,我可以执行一些命令,例如shutdown.exe和dir。
我在ASP.NET文件中尝试了相同的过程,并且遇到了完全相同的问题。
基本上,我想这样做:
EXEC( “路径到执行文件”);
实际上它有效。
答案 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