これは可能ですか?PHPからのWindowsコマンドライン(cmd)へのコマンドの送信
run_app.exe -param 'test' -name 'tester'
をPHPからラインをcmdをウィンドウに:
は、私は何をしたいの送信です。
これは可能ですか、何らかの理由でアプリケーションによってトリガされるWindowsサービスを作成する必要がありますか?
これは可能ですか?PHPからのWindowsコマンドライン(cmd)へのコマンドの送信
run_app.exe -param 'test' -name 'tester'
をPHPからラインをcmdをウィンドウに:
は、私は何をしたいの送信です。
これは可能ですか、何らかの理由でアプリケーションによってトリガされるWindowsサービスを作成する必要がありますか?
これにはexec()を使用できます。
exec
を試しましたか?
標準のPHP system
コマンドを使用することをお勧めします。 official PHP siteには豊富な情報と例があります。
exec()
,system()
およびpassthru()
の違いについては、question on SOがあります。
それとも、使用することができます:ここで
$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run(strCommand, [intWindowStyle], [bWaitOnReturn]);
あなたはrunメソッドparamsはを見つけることができます:http://msdn.microsoft.com/en-us/library/d5fk67ky%28v=vs.85%29.aspx
そしてここでは、COMクラスのドキュメントです:http://www.php.net/manual/en/class.com.php
この方法では、あなたがそうすることができますはるかにWindowsで:) 他の方法ではできなかった[bWaitOnReturn]パラメータのために使用しました。
ここでは、PHPが実際のcmd端末と動的に取得して対話できるプロジェクトがあります。ここでそれを取得します。
//if you prefer Powershell, replace 'cmd' with 'powershell'
$shellObj = \MTS\Factories::getDevices()->getLocalHost()->getShell('cmd');
$strCmd1 = 'run_app.exe -param "test" -name "tester"';
$return1 = $shellObj->exeCmd($strCmd1);
リターンはあなたがコンソールに座っているかのように、あなたのCMDからのコマンド・リターンまたはエラーを与える:あなたは、単に次のコードを使用しますダウンロードした後https://github.com/merlinthemagic/MTS
を。さらに、$ shellObjに対して任意のコマンドを発行することができ、環境はPHPスクリプトの全期間を通じて維持されます。したがって、スクリプトファイルでコマンドを束ねるのではなく、exeCmd()メソッドを使って1つずつ発行するだけで、リターンと例外を処理することもできます。