如何执行需要用户输入的系统命令并实时查看输出?

时间:2014-07-12 04:23:18

标签: php bash

当我运行以下命令并继续提供空密码时:

mount -t ecryptfs /to/be/mounted /mount/location

我明白了:

Passphrase:
Wrong input, non-empty value required!
Passphrase:
Wrong input, non-empty value required!
Passphrase:
Wrong input, non-empty value required!

太棒了!但是,当我尝试使用以下代码从PHP脚本执行相同操作时:

#!/usr/bin/php
<?php
        system("mount -t ecryptfs /to/be/mounted /mount/location");
?>

我明白了:

Wrong input, non-empty value required!
Wrong input, non-empty value required!
Wrong input, non-empty value required!
Passphrase:
Passphrase:
Passphrase:

不太棒!如何让PHP在正确的时间以正确的顺序显示输出?

1 个答案:

答案 0 :(得分:0)

可能与此有关,当PHP作为服务器模块与CGI一起运行时,system()调用尝试在每行输出后自动刷新Web服务器的输出缓冲区。