2016-08-18 34 views
0

我在PHP上有一個代碼在服務器上工作,但我們將該代碼遷移到另一個服務器,現在代碼無法工作,特別是我們想要運行.exe文件使用PHP執行指令execIIS不允許在PHP上使用excec命令運行.exe文件

我調試腳本,它看起來工作正常,並且IUSR用戶和IIS_IUSR具有正確的權限,實際上exe文件正在運行,但是當它運行時它需要生成一些文件是導致問題的部分,程序試圖在AppPool目錄上創建文件,例如: C:\ MyPath \ somewebsite.com \8áª\ MyProgram \

其中C:\ My路徑\ somewebsite.com \是應用程序池根目錄MyProgram \是應用程序的創建目錄

哪裏是隨機生成\8áª並改變了這一切,我們嘗試運行該程序時,調試用的Process Monitor我可以得到一個錯誤:PATH NOT FOUND和/或NAME INVALID,在之前的服務器上,我們修改IIS上的用戶以運行腳本(這在IIS 6上,現在位於IIS 8.5上),並且在家中創建了這些文件例如: C:\ Users \ MyUser \ MyProgram \

其中MyUser是我們分配的用戶,但是在該新服務器上,我們獲得了AppPool目錄中的文件no如果我們更改用戶

我認爲我們可以解決,如果我們能夠爲IUSR用戶定義路徑並將其設置爲「主」路徑,但我無法找到修改IUSR用戶的位置,我知道這是一個內置用戶該IIS創建但我不確定是否可以編輯該用戶的設置。

我已經提到,我們使用IIS,但只是作爲一個額外的數據,我們正在運行在Windows Server 2012中R2

什麼建議嗎?

+0

順便說一句,我們試圖運行的exe文件是爲第三方開發人員開發的,所以我們不能改變它,並且我們不能像我提到的那樣使用參數 –

回答

0

你的話題/問題是:

IIS does not allow run .exe file using excec command on PHP

這是正確的行爲!你不想通過PHP運行.exe文件,真的。您必須首先爲cmd.exe授予IUSR執行權限,您可以授予您所有虛擬用戶的管理員權限。

+0

「刪除」創建的文件或移動他的位置,權限正常,管理員權限不是必需的,如果您設置「執行」權限應該可以工作 –

+0

您的網站的身份驗證設置爲指定用戶(IUSR)或應用程序池身份?並且您的應用程序池的標識已設置爲內置帳戶或自定義帳戶? –

+0

我試了兩個,他們中的任何一個都在工作,我也創建一個特定的用戶,並將其分配給IIS,它不工作 –

相關問題