PHP вообще не обнаруживает разрыв соединения
Я прочитал и глубоко понял это:http://www.php.net/manual/en/features.connection-handling.php http://www.php.net/manual/en/function.register-shutdown-function.php
Тем не менее, я проверил как PHP 5.1.6 и 5.3 и вещи неТ работа, как описано там. Что я наблюдаю это:
connection_status () всегда возвращает true, даже после того, как клиент закрыл соединение.выполнение сценария продолжается после того, как клиент закрыл соединение, даже если ignore_user_abort равен 0функция, зарегистрированная с помощью register_shutdown_function (), не запускается, пока сценарий не достигнет конца. Сценарий НЕ прерывается (и, следовательно, функция не вызывается), когда клиент прерывает соединение.Так что в основном PHP просто нене обнаружить клиентаОтключение ВСЕ.
Обратите внимание, что это НЕ как если бы ignore_user_abort был установлен в 1: если бы это было так, то connection_status () вернул бы 1, даже если скрипт продолжал работать и функция завершения работы не вызывалась до конца. Это не относится к делу.
ini_get (»ignore_user_abort») возвращает 0, как и ожидалось.
Это ошибка в PHP, или это может быть связано с некоторыми настройками Apache?
Как мне заставить работать PHP как описано в вышеупомянутой документации?
Тестовый скрипт: