ライブ更新による PHP シェル出力
PHP には、shell_exec、exec、system、passthru などのシェル コマンドを実行するための関数がいくつか用意されています。ただし、これらの関数は通常、コマンドが完了するまで待ってから結果を表示します。実行中にコマンドのライブ出力を表示したい場合は、次の代替案を検討してください。
オプション 1: 並列実行に Popen() を使用する
popen() 関数PHP スクリプトとシェル コマンドを実行する別のプロセスとの間にパイプを開きます。これにより、スクリプトはプロセスと対話し、その出力をリアルタイムで読み取ることができます。
<?php $cmd = 'ping -c 10 127.0.0.1'; $proc = popen($cmd, 'r'); echo '<pre class="brush:php;toolbar:false">'; while (!feof($proc)) { echo fread($proc, 4096); flush(); } echo ''; ?>
このコードは ping コマンドを実行し、出力が利用可能になると表示します。
オプション 2: ライブ出力に passthru() を使用する
passthru() 関数はコマンドの出力を直接送信します。ユーザーのブラウザに送信すると、ライブ アップデートをスキップして、その結果が表示されるたびに結果を表示できます。
<?php echo '<pre class="brush:php;toolbar:false">'; passthru($cmd); echo ''; ?>
最適化のヒント:
これらの手法を使用すると、シェル コマンド出力のライブ アップデートを有効にできます。 PHP スクリプトを使用して、ユーザー エクスペリエンスを向上させ、コマンドの実行に関するリアルタイムの洞察を提供します。
以上がPHP シェル コマンドの実行からライブ アップデートを取得するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。