通过PHP 7从终端窗口获取实时输出

时间:2018-04-01 22:35:08

标签: php html

我正在尝试获取Ubuntu 16.04上终端窗口的实时输出(当窗口中出现一行时,它也应出现在服务器上)。我有各种各样的需要来工作。我是第一个试图获得更新' sudo apt-get update'由HTML按钮执行并且终端输出将在客户端浏览器中实时接收...我尝试使用flush()和what-not但似乎无法使其工作......任何PHP专家愿意帮忙吗?谢谢!

以下是我目前的情况:

<html>
<head>
    <meta charset="UTF-8">
    <title>Censored</title>
</head>
<body>
    <?php
    echo
    "<form action='' method='post'>
    <input type='submit' name='command' value='Network Properties' />
    </form>";

    if(isset($_POST['command']))
    {
        $cmd= shell_exec('ifconfig -a');
        echo '<pre>$cmd</pre>';
    }

    echo
    "<form action='' method='post'>
    <input type='submit' name='update' value='apt-get update' />
    </form>";

    if(isset($_POST['update']))
    {
          echo '<pre>';
          flush();
            $output = system('sudo apt-get update');
          echo '</pre>';
    }
    ?>

</body>

1 个答案:

答案 0 :(得分:0)

我的建议:

  1. 如果您想实时查看结果,请先关闭输出缓冲。
  2. Detailed instructions

    1. 最重要的shell_exec在完成之前不会返回任何内容。您必须使用替代方法来实时获取输出。
    2. Related Instruction 1
       Related Instruction 2