具有实时更新的 PHP Shell 输出
PHP 提供了多个用于执行 shell 命令的函数,包括 shell_exec、exec、system 和 passthru。但是,这些函数通常会等到命令完成后再显示结果。如果您希望在执行过程中查看命令的实时输出,请考虑以下替代方案:
选项 1:使用 popen() 进行并行执行
popen() 函数在 PHP 脚本和运行 shell 命令的单独进程之间打开一个管道。这允许您的脚本与进程交互,实时读取其输出。
<?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 ''; ?>
优化提示:
通过使用这些技术,您可以启用 shell 命令输出的实时更新您的 PHP 脚本,增强用户体验并提供对命令执行的实时洞察。
以上是如何从 PHP Shell 命令执行获取实时更新?的详细内容。更多信息请关注PHP中文网其他相关文章!