вывод консоли php-capture при обработке длинного скрипта - PullRequest
0 голосов
/ 08 февраля 2011

У меня проблема с записью вывода сценария ssh в браузер при его выполнении, а не в конце.

Сценарий написан:

$descriptorspec = array(
        0 => array("pipe","r"),
        1 => array("pipe","w"),
        2 => array("file","./error.log","a")
) ;
$cwd = 'path/path1' ;
for($counter=1;$counter<= 10;$counter++)
{
        $cmd="sudo test.sh arg1 arg2 arg3";
        $process = proc_open('ssh  user@server', $descriptorspec, $pipes, $cwd) ;
        if (is_resource($process))
        {
          fwrite($pipes[0], $cmd) ;
         fclose($pipes[0]) ;
                echo stream_get_contents($pipes[1]) ;
                  fclose($pipes[1]) ;
                $return_value = proc_close($process);
            echo "$counter=command returned $return_value<br>";
        }
}

Для сценария оболочки требуется 10 минутвыполнить.Если $ counter = 10, то на вывод реальной информации на экран уходит слишком много времени.Мне требуется, чтобы он продолжал показывать поток вывода по мере его выполнения, чтобы мы знали, что происходит.Есть ли случаи буферизации?

1 Ответ

0 голосов
/ 08 февраля 2011

Попробуйте функцию flush () .

...