2012-09-17 40 views
1

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

如何通过使用exec函数为php提供访问命令行的权限?

P.S.我知道,我知道,我知道。没有用户输入正在执行exec函数。我们只是想利用R的高分辨率图形和数据处理功能。

相关细节:

  • OS为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" 

回答

0

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