有没有人知道在使用apache
和mod_php
时,是否可以检测到浏览器在执行长时间的PHP
脚本期间关闭了连接?
例如,在Java
中,如果尝试在浏览器关闭后向HttpOutputStream
写入数据,它将抛出一个exception
--或者对checkError()
做出负面响应。
可以使用connection_aborted()函数。
在至少PHP4中,只有在脚本向浏览器发送任何输出后(使用:flush() | ob_flush()),connection_aborted和connection_status才能正常工作。
不要期望精确的定时结果。
它主要用于检查是否仍有人在等待另一端。
http://nz.php.net/register-shutdown-function
如果您只想让脚本停止并在用户终止时处理它,那么可能会更简单。
(例如:如果这是一个漫长的搜索,这将节省大量操作周期)