真的很快的問題。使用PHP shell_exec,使輸出「管道」不「傾倒」
考慮下面的代碼:
//__/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等待。的無EG9秒之後:等待,等待等待..沒有然後轉儲:
loop 000
loop 001
loop 002
loop 003
loop 004
loop 005
loop 006
loop 007
loop 008
如何可以改變/var/test/cli_test_shell.php
使得輸出返回每秒
檢查我的答案,它的工作原理;) –