2016-09-30 219 views
0

我的Windows服務器中有一個Fetch.exe,在運行Fetch.exe的命令提示符下返回控制檯中的一些文本輸出。通過PHP寫入文件

我想包裝Fetch.exe在PHP中的exec,併產生result.txt

exec("Fetch/Fetch.exe > C:/inetpub/testaddbbacom/test/result.txt"); 

試驗表明,result.txt已經確實產生,但是,它是空的。

然後,我在同一文件夾創建了一個簡單try.bat

enter image description here

類似地,會產生空白result.txt

相比之下,exec("echo 123 > C:/inetpub/testaddbbacom/test/result.txt")工作正常。

有誰知道錯在哪裏?

更新1:這裏是文件夾Fetch的權限,用戶擁有所有權限:

enter image description here

+0

「Fetch.exe」的輸出可能會根據執行它的用戶或執行PHP的用戶沒有權限執行它。 –

+0

請參閱我的更新...用戶擁有所有權限... – SoftTimur

+0

是您的php腳本進入testaddbbacom目錄嗎? – jlgsoftware

回答

0

如果你的路徑字符串去用雙引號必須轉義反斜槓,如果你不使用單引號。你可以重寫exe​​c調用:exec('C:\ inetpu \ testaddbbacom \ Fetch \ Fetch.exe> C:/inetpub/testaddbbacom/test/result.txt')或exec('C:/ inetpu/testaddbbacom/Fetch/Fetch.exe> C:/inetpub/testaddbbacom/test/result.txt') - @jlgsoftware