Как обнаружить пользователь прервать соединение в php?

Я пытаюсь зарегистрировать все запросы, прерванные пользователями, но обнаружил, что connection_status () не работает, как я ожидал.

<?php
ignore_user_abort(true);
ob_implicit_flush();
//do something
sleep(5);
header('Content-Type: text/json');
echo json_encode($output);
flush();
ob_flush();
if(connection_status() & CONNECTION_ABORTED){
//log aborted request
}

Время ожидания клиента составляет 2 секунды, и я всегда получаю «0» как connection_status ().

Согласно документу, состояние соединения не будет проверяться до тех пор, пока скрипт не попытается что-то вывести. Поэтому я добавил коды сброса, но он все равно получил «0» как connection_status ().

Пожалуйста, помогите мне понять обработчик соединения php.
Благодарю.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы ammmcru@yandex.ru
Adblock
detector