【发布时间】:2013-11-20 21:12:57
【问题描述】:
我只是在我的 Linux 服务器上试验 PHP 和 shell_exec。这是一个非常酷的功能,到目前为止我真的很喜欢它。有没有办法在命令运行时查看实时输出?
例如,如果ping stackoverflow.com 被运行,当它在ping 目标地址时,每次它ping,用PHP 显示结果?这可能吗?
我希望看到缓冲区在运行时的实时更新。也许不可能,但肯定会很好。
这是我正在尝试的代码,我尝试过的每一种方式总是在命令完成后显示结果。
<?php
$cmd = 'ping -c 10 127.0.0.1';
$output = shell_exec($cmd);
echo "<pre>$output</pre>";
?>
我尝试将echo 部分置于循环中,但仍然没有成功。任何人对让它在屏幕上显示实时输出而不是等到命令完成有什么建议吗?
我试过exec、shell_exec、system 和passthru。他们每个人都在完成后显示内容。除非我使用了错误的语法或者我没有正确设置循环。
【问题讨论】:
-
为什么不先在shell中执行文件?
-
使用 passthru() 代替 shell_exec()
-
我现在就研究 passthru。
-
没有运气弄清楚 passthru() 工作的语法。
标签: php