从PHP向windows命令行(cmd)发送命令

从PHP向windows命令行(cmd)发送命令,php,command-line,windows-server-2008,Php,Command Line,Windows Server 2008,这可能吗 我要做的是发送: run_app.exe -param 'test' -name 'tester' 从PHP到windows命令行 这是可能的还是我需要编写由应用程序以某种方式触发的windows服务?您尝试过吗?您可以使用它。或者您可以使用: $WshShell = new COM("WScript.Shell"); $oExec = $WshShell->Run(strCommand, [intWindowStyle], [bWaitOnReturn]); 在这里可以找到

这可能吗

我要做的是发送:

run_app.exe -param 'test' -name 'tester'
从PHP到windows命令行

这是可能的还是我需要编写由应用程序以某种方式触发的windows服务?

您尝试过吗?

您可以使用它。

或者您可以使用:

$WshShell = new COM("WScript.Shell");
$oExec = $WshShell->Run(strCommand, [intWindowStyle], [bWaitOnReturn]);
在这里可以找到run方法参数:

这是COM类文档:

使用此方法,您可以在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返回或返回错误,就像您坐在控制台上一样。此外,您可以针对$shellObj发出任何您喜欢的命令,该环境在PHP脚本的整个生命周期中都得到维护。因此,不要将命令捆绑在脚本文件中,只需使用exeCmd()方法逐个发出命令,这样您还可以处理返回和任何异常