IIS7 - 允许php访问命令行

时间:2012-09-17 17:32:15

标签: php r iis-7 windows-server-2003

我正在使用php5.3 exec函数从命令行运行cookie-cutter r-script。想法是用户选择数据,php运行脚本,用户可以下载高分辨率图形。我在我的本地测试平台上用apache运行它,一切正常,但是,生产服务器是带有IIS7的Windows Server 2003(我无法控制的东西)。看来在IIS7中,默认情况下,php无法访问cmd.exe。我们尝试使用“calcs”命令更改cmd.exe的权限,但没有成功。

如何通过使用exec函数授予php访问命令行的权限?

P.S。我知道,我知道,我知道。使用exec函数不会执行任何用户输入。我们只想利用R的高分辨率图形和数据处理功能。

相关细节:

  • 操作系统是Windows Server 2003 64位
  • IIS7
  • 服务器是Amazon EC2实例
  • (我不认为这是亚马逊的一个问题,因为我听说人们用LAMP堆栈亚马逊实例做类似的事情)

编辑:问题最终由于某种原因IUSR无权在命令行中使用“start”命令。

REM commands below did not work
start "Path to .exe" "File to process"
start "" "Path to .exe" "File to process"

REM this one did however
"Path to .exe" "File to process"

1 个答案:

答案 0 :(得分:0)

我认为这是一个IIS问题(你可以在本地安装一个来测试它)但是如果你使用匿名身份验证运行,则需要将匿名用户更改为普通用户(具有启动cmd.exe的权限)。还要检查应用程序池用户的身份,因为它有时也使用有限的帐户运行。