2014-12-09 77 views
1

我試圖在php文件中執行批處理文件。我使用Apache服務器。 Itried使用FTP客戶端以下的方法,但它不工作無法在php中執行批處理文件

PHP代碼

echo shell_exec('download.bat'); 
echo exec('download.bat'); 
system ("cmd /c download.bat");//Also tried for exec and shell_exec 

批處理文件的下載代碼

批處理文件

"c:\program files\coreftp\coreftp.exe" -s -O -site mysite -d /Export/*.* -p C:\wamp\www\file\txt 

如果我運行它在cmd中或直接運行那麼它的工作正常,當我運行它的PHP它只是寫或回聲批處理文件的代碼

download.bat文件位於同一文件夾中。

我也試着打簡單的bat文件

start "link" "https://www.google.co.in/?gfe_rd=cr&ei=NzuIVI-FG6aG8Qef44CAAw" 

它也沒有打電話來此bat文件

+0

它究竟如何_not working_ – RiggsFolly 2014-12-09 18:36:10

回答

0

你確定你的「download.bat」文件是在相同的路徑爲你的PHP腳本?

嘗試使用絕對路徑,這樣

exec('C:\\MY\\PATH\\TO\\download.bat'); 
+0

是它在同一個文件夾,我試過這個但不工作? – kreya 2014-12-09 13:13:51

+0

嘗試運行另一隻只做'ECHO'的蝙蝠,以確定它是否來自你的蝙蝠或你的PHP腳本 – 2014-12-09 13:18:10

0

只需使用exec('download.bat');如果該文件是在同一目錄中,但您需要確保的Apache有正確的權限來執行批處理文件即它應該運行在管理員帳戶上。如果您使用的是Win7或更高版本,請查看如何在提升模式下運行程序。

+0

如何檢查Apache有沒有正確的權限?它的管理員帳戶上運行。 – kreya 2014-12-09 13:20:33

+0

轉到開始>運行> Services.msc並在服務列表中查找「Apache服務」,並檢查它是否在具有管理權限的帳戶下運行。 – 2014-12-09 13:29:25

+0

是的,它具有管理員權限 – kreya 2014-12-09 13:31:26