2016-10-05 254 views
2

首先,我在當地的一個網站,Wamp64。我想執行a .exe文件。EXEC()似乎並不執行.exe文件

所以我用的是exec()功能是這樣的:

$output = exec("cd 'C:\Program Files (x86)\ENENSYS\DiviSuite' & DiviSuite-CLI.exe --in-rf --in-rf-standars T --in-rf-frequency=474 --in-rf-bandwidth=8 --in-rf-duration=20 --out-file C:\wamp64\capture.ts"); 

該方案具有錄製流,並把它放在C:\ wamp64 \但它沒有,而當我在執行相同的命令行它的工作原理是MS DOS控制檯。

另外,當我做$輸出的回聲時,回聲顯示什麼都沒有。

在此先感謝。

回答

1

試試這個:

$output = exec("\"C:\\Program Files (x86)\\ENENSYS\\DiviSuite DiviSuite-CLI.exe --in-rf --in-rf-standars T --in-rf-frequency=474 --in-rf-bandwidth=8 --in-rf-duration=20 --out-file C:\\wamp64\\capture.ts"); 

它應該工作:)

0

可以手動cd到DiviSuite文件夾,並嘗試從DiviSuite文件夾php文件,從EXEC移除cd命令。 ?

0

試試這個

(function(){ 
if(($olddir=getcwd())===false){ 
throw new RuntimeException('getcwd() failed!'); 
} 
if(!chdir('C:/Program Files (x86)/ENENSYS/DiviSuite')){ 
throw new RuntimeException('failed to enter DiviSuite folder!'); 
} 
$output=array(); 
$ret=0; 
exec('DiviSuite-CLI.exe --in-rf --in-rf-standars T --in-rf-frequency=474 --in-rf-bandwidth=8 --in-rf-duration=20 --out-file C:\wamp64\capture.ts',$output,$ret); 
if($ret!==0){ 
echo "WARNING, DID NOT RETURN 0. THIS IMPLY AN ERROR IN MOST PROGRAMS.".PHP_EOL; 
} 
var_dump('returned:',$ret,'output:',$output); 
chdir($olddir); 
})();