真的很快的问题。
考虑以下代码:
//__/var/test/cli_test.php__
$x = 0;
while ($x < 9){
print "loop " . str_pad($x, 3, "0", STR_PAD_LEFT) . "\n";
sleep(1);
$x++;
}
如果我php /var/test/cli_test.php
在命令行中输入,我会得到 9 个按时间间隔的行。即 9 个正输出,每秒一个。EG:这些一次到达一个,嘀嘀嘀嘀……
loop 000
loop 001
loop 002
loop 003
loop 004
loop 005
loop 006
loop 007
loop 008
现在考虑一个不同的命题
//__/var/test/cli_test_shell.php
print shell_exec("php /var/test/cli_test.php");
如果我php /var/test/cli_test_shell.php
在命令行中输入 9 秒我什么也得不到,那么一切都到了.. 即 1 BIG 输出 1 BIG 等待。9 秒后什么都没有 EG:等待,等待等等.. 什么都没有然后转储:
loop 000
loop 001
loop 002
loop 003
loop 004
loop 005
loop 006
loop 007
loop 008
我怎样才能改变/var/test/cli_test_shell.php
,以便输出每秒返回每一行