2016-10-05 2 views
2

Во-первых, у меня есть сайт на местном языке с Wamp64. И я хотел бы выполнить файл .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 пульт работает.

Кроме того, когда я выполняю эхо $ output, эхо ничего не отображает.

Заранее спасибо.

ответ

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

вручную перейдите в папку DiviSuite и попробуйте запустить этот файл PHP из папки DiviSuite, убрав команду из кд Exec. ?

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); 
})(); 
Смежные вопросы