echo 等于 fputs( STDout ) 吗?
echo
是否等于 fputs( STDOUT )
,或者 echo
是否写入不同的流?我已经使用 PHP 一段时间了,但我不太清楚底层到底发生了什么。
Does echo
equal fputs( STDOUT )
, or does echo
write to a different stream? I've used PHP for a while now, but I don't know very well what's actually happening on a lower level.
根据PHP 关于包装器的手册页,答案是否定的。
print
和echo
写入php://output
流,而fputs(STDOUT)
写入php://stdout
。我做了一些测试:
该脚本输出(在 PHP 5.2.13、Windows 上测试):
即写入
STDOUT
直接绕过 ob 处理程序。According to PHP's manual page on wrappers, the answer is No.
print
andecho
write tophp://output
stream, whereasfputs(STDOUT)
writes tophp://stdout
.I did a little test:
This script outputs (tested on PHP 5.2.13, windows):
i.e. writing to
STDOUT
directly bypasses ob handlers.