die()会执行ob_end_flush()吗?

时间:2011-01-19 15:12:47

标签: php output-buffering die

我似乎无法在任何地方找到一个好的答案。如果我正在运行输出缓冲,并且die()被触发,那么它是否会启动ob_end_flush()

2 个答案:

答案 0 :(得分:14)

是的。只要脚本正常结束,缓冲区就会被清空。唯一不优雅的结局是如果它出现分段错误或它被杀死(信号9 SIG_KILL)。 die()执行该过程的唯一地方就是如果你在register_shutdown_function内调用它(但是在调用shutdown函数之前刷新缓冲区,所以那里没有问题)。有关更多信息,请参阅Connection Handling ...

答案 1 :(得分:0)

是的

但是,如果有的话,您可以将输出留空

[data-condition="alive"]

代码中的较早版本。

在某些情况下,我们不想在die()上输出ob。 我将其写在这里,以防它可以帮助想要这样做的任何人。