Статус подключений
Статус подключений
Внутренне PHP имеет три статуса подключения:
При нормальном выполнении сценария активно состояние NORMAL. Если во время загрузки страницы пользователь нажал кнопку STOP, активным становится состояние ABORTED. Если сценарий выполняется дольше отведенного ему времени, устанавливается флаг состояния TIMEOUT. Возможно определить, как должен вести себя сценарий в зависимости от этих условий.
Если требуется, чтобы сценарий продолжал свое выполнение при разрыве соединения пользователем, нужно установить в файле конфигурации значение параметра ignore_user_abort = 1 (это также можно сделать в файлах конфигурации Apache). Можно также воспользоваться функцией ignore_user_abort(). В противном случае, сценарий завершается.
Чтобы игнорировать завершение сценария таймером, необходимо использовать функцию set_time_limit().
Если функцией register_shutdown_function() была установлена функция "запускаемая при завершении сценария", то, вне зависимости от статуса подключения, она будет исполнена перед тем, как сценарий завершится. И в "завершающей" функции можно будет выяснить (с помощью функции: connection_aborted(), connection_timeout() и connection_status()), был ли сценарий завершен нормально или досрочно.
connection_aborted
Определения разрыва подключения пользователем.
Синтаксис:
int connection_aborted(void);
Функция connection_aborted() возвращает true, если подключение было разорвано пользователем.
connection_status
Определения статуса подключения.
Синтаксис:
int connection_status(void);
Возвращает значение битового поля, позволяющее выяснить в "завершающей" функции, был ли сценарий завершен досрочно и причину этого. Например, если возвращается 3 (ABORTED | TIMEOUT), то это означает, что время выполнения истекло, а также то, что пользователь отказался от загрузки страницы.
Если возвращается 0 (то есть значение NORMAL), то это означает, что выполнение сценария не было прервано.
connection_timeout
Определения наступления тайм-аута.
Синтаксис:
int connection_timeout(void);
Возвращает true, если время выполнения сценария истекло.
ignore_user_abort
Прерывание сценария при разрыве подключения.
Синтаксис:
int ignore_user_abort([int setting]);
Аргументом setting можно указать, необходимо ли досрочно завершать выполнение сценария, если связь с клиентом потеряна. Если аргумент не указан, то возвращается текущая установка.
register_shutdown_function
Устанавливает функцию, которая будет выполнена при завершении.
Синтаксис:
int register_shutdown_function(string func);
Регистрирует функцию с именем func в качестве функции, запускаемой после завершения сценария.
Заметьте: так как после завершения функции никакие средства вывода недоступны, это делает для функции, зарегистрированной в качестве "завершающей", недоступными обычные средства отладки, такие команды как print или echo.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКЧитайте также
Статус
Статус После регистрации ICQ, постоянно будет гостить в вашей области уведомлений (она находится в правой части Панели задач) в виде специального значка. В момент подключения к Интернету вместо значка появится изображение цветка. Если лепестки цветка зеленые, то
Виды подключений
Виды подключений Способ подключения к Интернету зависит от того, какими устройствами вы располагаете.Обладатели мобильных телефонов могут подключиться к Интернету через сотовую сеть. Например, если ваш телефон поддерживает WAP (Wireless Access Protocol – протокол беспроводного
1.7.1 Состояние и статус стандартов
1.7.1 Состояние и статус стандартов IAB периодически публикует информацию о работе над протоколами. Стадии разработки определяют текущее состояние протокола:? Experimental (экспериментальный)? Proposed (предлагаемый)? Draft (черновик)? Standard (стандарт)Некоторые протоколы маркируются как
Статус нахождения в Skype
Статус нахождения в Skype В нижней части окна программы вы можете изменить свой статус нахождения в Skype. Большинство опций этого меню интуитивно понятны (рис. 5.23). Часть из них можно установить самому, а некоторые изменяет программа:? например, статус автоматически
Коммерческий статус программ. Виды распространения
Коммерческий статус программ. Виды распространения Помимо тематического деления программ существует еще одна классификация. Связана она со способом распространения программы и теми условиями, приняв которые, потребитель получает возможность оной воспользоваться. Ну
Коммерческий статус программ. Виды распространения
Коммерческий статус программ. Виды распространения Помимо тематического деления программ существует еще одна классификация. Связана она со способом распространения программы и теми условиями, приняв которые, потребитель получает возможность оной воспользоваться. Ну
Статус экспорта процедур создания
Статус экспорта процедур создания Для двух процедур создания, объявленных в классе POINT1, предложение feature имело вид feature {NONE}. Это означает, что эти процедуры закрыты для обычных вызовов, но остаются открытыми для порождающих вызовов. Только что представленные два примера
Статус универсальных операций
Статус универсальных операций Последние комментарии частично прояснили вопрос о статусе универсальных операций clone, copy, equal, is_equal, deep_clone, deep_equal.Эти операции не являются языковыми конструкциями, невзирая на их фундаментальную значимость для практики. Они поставляются
Предусловия и статус экспорта
Предусловия и статус экспорта Возможно, вы заметили необходимость дополнительного требования, не отраженного в принципе обоснованности предусловия. Для того чтобы клиент мог проверить предусловие, оно не должно использовать закрытые свойства класса, недоступность
Закон 10. Для того чтобы система начала претендовать на статус защищенной, она должна пройти независимый аудит безопасности
Закон 10. Для того чтобы система начала претендовать на статус защищенной, она должна пройти независимый аудит безопасности Писатели знают, что они не в состоянии качественно вычитать корректуру своей собственной работы. Программисты должны знать, что они не смогут
Требовать утверждения внешних подключений
Требовать утверждения внешних подключений Отслеживание внешних подключений — это хорошее начало для восстановления контроля над вашей сетью. Но вам также следует заняться ограничением этих подключений. На самом деле, не каждому желающему действительно нужен такой