dpge74512 2011-02-08 11:34
浏览 38

处理冗长脚本时的php-capture控制台输出

I have an issue on capturing the ssh script output onto the browser as it executes rather than having it in the end.

Script written:

$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>";
        }
}

Shell script takes 10mins to execute. If the $counter=10 then it taking too much time to get the real output thrown on screen. I require that it keeping on showing the stream output as it executes so that we know what's happening. Is there case of buffering?

  • 写回答

1条回答 默认 最新

  • doushi4864 2011-02-08 11:39
    关注

    Try the flush() function.

    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器