8

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

4

2 回答 2

14

是的,它确实。任何时候脚本优雅地结束,缓冲区都会被清空。唯一不优雅的结局是分段错误或被杀死(信号 9 SIG_KILL)。对进程进行硬杀的唯一地方die()是如果你在 a 内部调用它register_shutdown_function(但是缓冲区在调用关闭函数之前被刷新,所以那里没有问题)。有关更多信息,请参阅连接处理...

于 2011-01-19T15:19:48.433 回答
0

是的。

但是,如果您有,您可以使输出为空

register_shutdown_function('ob_clean');

在代码的前面。

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

于 2019-02-15T18:22:04.297 回答