为了账号安全,请及时绑定邮箱和手机立即绑定

使用PHP中的实时输出运行进程

使用PHP中的实时输出运行进程

烙印99 2019-08-02 14:41:05
使用PHP中的实时输出运行进程我正在尝试在网页上运行一个将实时返回其输出的进程。例如,如果我运行'ping'进程,它应该在每次返回一个新行时更新我的页面(现在,当我使用exec(命令,输出)时,我被迫使用-c选项并等待进程完成以查看在我的网页上输出)。有可能在PHP中这样做吗?我也想知道当有人离开页面时,杀死这种过程的正确方法是什么。在“ping”过程中,我仍然可以看到系统监视器中运行的进程(有意义)。
查看完整描述

3 回答

?
翻阅古今

TA贡献1780条经验 获得超5个赞

这对我有用:


$cmd = "ping 127.0.0.1";


$descriptorspec = array(

   0 => array("pipe", "r"),   // stdin is a pipe that the child will read from

   1 => array("pipe", "w"),   // stdout is a pipe that the child will write to

   2 => array("pipe", "w")    // stderr is a pipe that the child will write to

);

flush();

$process = proc_open($cmd, $descriptorspec, $pipes, realpath('./'), array());

echo "<pre>";

if (is_resource($process)) {

    while ($s = fgets($pipes[1])) {

        print $s;

        flush();

    }

}

echo "</pre>";


查看完整回答
反对 回复 2019-08-02
  • 3 回答
  • 0 关注
  • 768 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信