2016-10-05 9 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フォルダにcdとexecからcdコマンドを削除し、DiviSuiteフォルダからそのPHPファイルを実行してみてください。 ?

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); 
})(); 
関連する問題