Terminal

使用 tee -a 保留 PHP 的輸出

  • November 24, 2014

通常在 web 伺服器模式下執行 PHP 腳本時,會顯示:

$ php -S 0.0.0.0:12345
PHP 5.6.1 Development Server started at Mon Nov 24 14:09:22 2014
Listening on http://0.0.0.0:12345
Document root is /tmp
Press Ctrl-C to quit.

但是,當該命令附加 時| tee -a accesss.log,該輸出將失去:

$ php -S 0.0.0.0:12345 | tee -a access.log
# blank

我應該怎麼做才能保持該輸出顯示?

如果你有GNU stdbuf,你可以使用:

$ stdbuf -o0 -e0 php -S 0.0.0.0:12345 | tee -a access.log
PHP 5.4.34-0+deb7u1 Development Server started at Mon Nov 24 14:38:33 2014
Listening on http://0.0.0.0:12345
Document root is /home/cuonglm
Press Ctrl-C to quit.

引用自:https://unix.stackexchange.com/questions/169647