Php, Windows,如何捕获正在运行的批处理文件


Php, Windows, how to capture what a running batch file doing?

因为它运行了很长时间,并且打印了很多信息,我不想等到它运行,我想在它运行时捕获它的内容。这可能吗?如果我可以对exec()做这个操作它会一直等到它超过

您可以尝试使用popen。例子:

<?php
$command = ('ping stackoverflow.com');
$handle = popen ($command,'r');
while (!feof($handle))
{
    $buffer = fgets($handle, 4096);
    echo $buffer;
}
pclose($handle);
?>

在Windows-batchfile中不要忘记exit (http://de3.php.net/manual/en/function.popen.php#77723)。