PHP 中的 shell_exec()
<?php
// Execute a shell script
$dump = shell_exec('bigfile.sh'); // This script takes some 10s to complete execution
print_r($dump); // Dump log to screen
?>
当上面的脚本从浏览器执行时,它会加载 10 秒并将脚本的输出转储到屏幕上。这当然是正常的。但是如果我希望shell脚本写入STDOUT的数据实时显示在屏幕上,有什么办法可以做到吗?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
我会添加 proc_open() ,如果需要的话,它可以让您对命令执行有更多的控制,如果不需要,请尝试前面提到的 passthru() 或 popen() 。
I would add proc_open() which gives you much more control over command execution if you need it, if not try passthru() or popen() as it was mentioned before.
试试这个:
这对我来说非常有用。
Try this:
It works great for me.
尝试 passthru() 或 popen()
代码看起来像这样:
正如下面@wik建议的那样,你也可以尝试 proc_open 而不是 popen 它应该可以工作以类似的方式。
Try passthru() or popen()
The code will look something like this:
As @wik suggest below you can also try proc_open instead of popen it should work in a similar fashion.