Этот connection_aborted
метод в PHP не делает то, что вы думаете, что он делает.Он сообщит вам, если клиент отключил , но , только если буфер был очищен, то есть какой-то ответ отправляется с сервера обратно клиенту.Версии PHP даже не будут работать так, как вы написали выше.Вам нужно добавить вызов к чему-то вроде flush
в вашем цикле, чтобы сервер попытался отправить данные.
HTTP - это протокол без сохранения состояния.Он предназначен , чтобы не зависеть ни от клиента, ни от сервера.В результате состояние любого из них известно только при создании соединения, и это происходит только тогда, когда есть данные для отправки тем или иным способом.
Лучше всего делать так, как предложил @MattHсделайте это с помощью AJAX, и, если хотите, вы можете интегрировать что-то вроде Node.js, чтобы выполнять «проверки» клиента во время обработки.Однако, как правильно это настроить, выходит за рамки моей компетенции.