-3

PHPを使用してWebページに「top」などのコマンドを表示することは可能ですか?

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

2 に答える 2

2

私があなたの質問を正しく理解していれば、ライブ アップデートでクライアントに表示されるインタラクティブなプログラムを取得しようとしています。あなたが実証したように、これは不可能です。

PHPで何が起こっているのか理解できていないようです。クライアントがページをダウンロードするに、PHP がサーバー上で実行されます。クライアントは、サーバーがレンダリングしたページの「スナップショット」を取得します。ページがユーザーのマシンに読み込まれると、サーバーはそのページにアクセスできなくなります。

インタラクティブなコンテンツを取得するには、いくつかのオプションがあります (最も望ましくなく最も簡単なものから、最も望ましく最も複雑なものまで):

  • ページを更新
  • 更新を定期的にリクエストする (AJAX)
  • サーバーに変更をプッシュさせる (COMET、WebSockets)

もう 1 つの問題はtop、ブラウザーでの出力を台無しにする端末固有のコマンド (端末の更新、テキストのビットの書き換えなど) を使用するような対話型コマンドです。@Davidが言ったようなことをして、出力のスナップショットを取得し、それを定期的にユーザーに提供する必要があります(上記から1つ選択してください)。

どのルートを選択しても、PHP 用のライブラリとチュートリアルが多数用意されています。

于 2013-10-24T04:17:16.670 に答える
2

たぶんこれ:

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