2012-09-17 43 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。可執行程序)。還要檢查應用程序池用戶的身份,因爲它有時也會使用有限的帳戶運行。