php,COM对象的exec方法没有显示任何内容

时间:2015-08-20 14:10:03

标签: php com

开发环境:

  • Windows server 2012

  • apache2.4 + php5.6

  • 启用dot_net扩展

大家好。 (首先,我很抱歉我的英语不好。)

我正在写一个小的PHP脚本。例如,当用户单击该按钮时,服务器执行c ++二进制文件,并将该程序PID返回给用户。

因为需要PID,所以我使用了COM对象。我的代码如下......

$com = new COM('WScript.Shell');
$com->CurrentDirectory = "d:\\git\\myProject\\release\\bin\\";
$exec = $com->Exec("returnPID.exe"); // 
$pid = $exec->ProcessID;
echo $pid;

returnPID.exe一旦执行,它会在cmd窗口中显示其状态,直到它终止。 (这是Win32控制台应用程序。)

以上代码效果很好,用户没有任何不便。

但问题是,当我通过COM对象的Exec方法执行returnPID.exe时,returnPID应用程序不会在cmd窗口中显示有关其状态的任何信息。

如果我通过COM对象的'Run'方法执行returnPID应用程序,应用程序会在cmd窗口中正确显示其状态。但众所周知,Run方法不会返回PID。

我想知道returnPID应用程序没有显示其状态和分辨率的原因。

感谢您阅读我的问题。 : - )

0 个答案:

没有答案