время
|
|
Часть 3 Особенности реализации 39
разрыва соединения или же остановки вы-
полнения загрузки данных в браузер пользователя. Это и будет рассмотрено нами
в данной главе.
Представьте себе ситуацию, когда ваш скрипт обрабатывает сложныйзапрос, что-то
читает из базы, пишет в файл, изменяет данные и т. д., а во время этого процесса
клиент нажал кнопку ?Стоп? и разорвал соединение. Работа вашей программы будет
прервана в самый неожиданный момент, и обработка не будет завершена. Но частич -
но-то работа проделана. Необходимо как-то вернуть назад внесенные изменения. Для
этого в РНР встроен механизм контроля за соединением. Вы можете подготовить функ-
242 Часть III. Особенности реализации языка
цию аварийной остановки с помощью register-shutdown_function (). Данная фун-
кция вызывается интерпретатором РНР при завершении работы скрипта. Сетевое со-
единение в РНР с Web-сервером может иметь один из следующих статусов:
0 - NORMAL,
1 - ABORTED,
2 - TIMEOUT.
Когда РНР работает нормально, статус соединений будет NORMAL.