2016-10-05 115 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); 
})();