我試圖使用PHP中的exec命令執行批處理文件。 我只是用它像:如何通過PHP執行批處理文件?
$filename = 'test.bat';
exec($filename);
但沒有得到任何輸出。我用另一個命令嘗試了這個功能,它工作正常。 您的建議將不勝感激。 謝謝
我試圖使用PHP中的exec命令執行批處理文件。 我只是用它像:如何通過PHP執行批處理文件?
$filename = 'test.bat';
exec($filename);
但沒有得到任何輸出。我用另一個命令嘗試了這個功能,它工作正常。 您的建議將不勝感激。 謝謝
的主要問題是的path
和permission
。我已經獲得我的批處理文件執行。
這裏是我的解決方案:
我從同一個文件夾中的PHP文件是在我的批處理文件
exec("mybatch.bat");
我要確保Apache服務有足夠的權限運行批處理文件。只是爲了測試我用Apache的管理員帳戶登錄。
正確的解決方案,批處理文件和php文件都在同一個文件夾中 – 2013-09-30 07:29:17
system("cmd /c C:[path to file]");
作爲「RichieHindle」在類似的話題中說。
,或者嘗試
exec("cmd.exe /c test.bat") ?
如果你需要執行一個命令,並具有直接傳遞迴不受任何干擾命令的所有數據,使用中繼()函數。
在的Windows服務器心目中的報價。這對我來說是什麼在起作用:
system('cmd.exe /c C:\myfolder\_batches\run_this_batch.bat');
我所做的是以下幾點:
創建了一個包含PHP文件:
$gotIt = array();
$file = "getMyIP.bat";
exec($file, $gotIt);
echo implode("<br>",$gotIt);
創建在同一文件夾中的批處理文件
@ECHO off
ipconfig
運行並等待防火牆跳過所有操作。
然後我得到了一個輸出,如:
Windows IP Configuration
PPP adapter 3 USB Modem:
Connection-specific DNS Suffix . :
IP Address. . . . . . . . . . . . : ***.***.202.81
Subnet Mask . . . . . . . . . . . : 255.255.255.255
Default Gateway . . . . . . . . . : ***.***.202.81
只有在***的是
你應該設置在$文件名的路徑那裏有數字。也許它沒有找到文件的路徑。 –