2017-11-07 3 views
0

私はcmd.exeから実行し、いくつかのパラメータをsupplidする必要があるプログラムを持っています。コマンドは次のようになります。PHP execは出力を返しません

query.exe USERNAME PASSWORD WMI_QUERY MACHINE 

このプログラムはうまくいきます。しかし、PHPから次のコードで実行しようとすると、

function execute_query($ip, $username, $password, $query){ 

    $runCMD ="query.exe " . $username . " " . $password . ' "' .$query . '" ' . $ip; 
    echo exec($runCMD); 
    print_r ($stdout); 
} 

出力がありません。プログラムが実行され、出力が正常に返されたにもかかわらず、プロセスは正常に終了しましたが、それ以外は何も表示されません。私はPHPとWindowsとXAMPPを使用しています 私はshell_execを使って疲れましたが、運がありませんでした。他のアイデア?

+1

'execのを( ) 'は、端末の出力行ごとに配列の出力を返します。 iirc shell_execは何も返しません。参照渡しされた配列のパラメータを確認してください - http://php.net/manual/en/function.exec.php – brianforan

+0

$ stdoutは定義されていません – brianforan

+0

私の最初のコメントを無視して、私はなぜ思ったのですか? shell_execは何も返しませんが、$ stdoutはまだ定義されていません – brianforan

答えて

0

私は通常、単純に使用します。

passthru("the_command 2>&1"); 

2> & 1ビットは、コマンドが失敗したときに、あなたの出力は、おそらく、ここでSTDOUTにSTDERRをリダイレクトすることです...

+0

また、出力をキャプチャするためにob_start()とob_get_contents()を使用することもできます。 –

+0

まだ動作しませんでした。 –

関連する問題