在PHP中检测浏览器连接关闭

7

有没有人知道在使用apachemod_php时,是否可以检测到浏览器在执行长时间的PHP脚本期间关闭了连接?

例如,在Java中,如果尝试在浏览器关闭后向HttpOutputStream写入数据,它将抛出一个exception--或者对checkError()做出负面响应。

3个回答

7

即使输出数据并且ignore_user_abort(false),它在Fedora22,PHP 5.6.12中无法工作。 - sivann

2

在至少PHP4中,只有在脚本向浏览器发送任何输出后(使用:flush() | ob_flush()),connection_aborted和connection_status才能正常工作。

不要期望精确的定时结果。

它主要用于检查是否仍有人在等待另一端。


“它主要用于检查另一端是否仍有人在等待,这通常非常有用。”:如何? - cYrus
如何:"echo"某些内容或输出一个header(),调用'flush()',然后使用connection_aborted()函数来确定HTTP客户端是否仍在“监听”或可能已超时。 - Willem

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接