-3

是否可以使用 php 在网页上显示诸如“顶部”之类的命令?

   <?php
      echo shell_exec('top');
   ?>
4

2 回答 2

2

也许是这样:

<?php
$output = null;
exec('top -n 1', $output);
var_dump($output);
?>
于 2013-10-24T04:06:39.440 回答
2

如果我正确理解了您的问题,那么您正在尝试通过实时更新在客户端上显示交互式程序。正如您所证明的那样,这是不可能的。

看来您可能不明白 PHP 发生了什么。PHP 在客户端下载页面之前在服务器上运行。然后,客户端在服务器呈现页面时获取页面的“快照”。一旦页面被加载到用户的机器上,服务器就不能触摸该页面。

要获得交互式内容,您有几个选项(从最不受欢迎和最简单到最理想和最参与):

  • 刷新页面
  • 定期请求更新 (AJAX)
  • 让服务器下推更改(COMET、WebSockets)

另一个问题是交互式命令,如top使用一堆特定于终端的命令(刷新终端、重写文本位等),会弄乱浏览器中的输出。您需要像@David 所说的那样做一些事情,并获取输出的快照并定期将其提供给用户(从上面选择一个)。

无论您选择哪种方式,都有很多 PHP 库和教程可供使用。

于 2013-10-24T04:17:16.670 回答