Определить закрытое соединение браузера в PHP
Кто-нибудь знает, можно ли определить, закрыл ли браузер соединение во время выполнения длинного PHP
скрипт, при использовании apache
а также mod_php
?
Например, в Java
, HttpOutputStream
бросит exception
если кто-то попытается написать в него после того, как браузер закроет его - или ответит отрицательно на checkError()
,
3 ответа
По крайней мере в PHP4, connection_aborted и connection_status работали только после того, как скрипт отправил какой-либо вывод в браузер (используя: flush() | ob_flush()). Также не ожидайте точно рассчитанных результатов.
В основном полезно проверить, есть ли еще кто-то, ожидающий на другой стороне.
http://nz.php.net/register-shutdown-function
Вероятно, не так сложно, если вы просто хотите, чтобы скрипт умер и работал с ним, когда пользователь завершает работу.
(Т.е. если бы это был длительный поиск, это сэкономило бы вам кучу рабочих циклов)