Новые книги

Современная рыночная экономика характеризуется преобладанием знаний и информации над материально-вещественными факторами производства. Информационные технологии рыночного управления предприятиями видоизменяют традиционные маркетинговые подходы. В монографии рассматривается многоаспектное влияние информатизации общества на сферу рыночных отношений. Автором предлагается комплексный взгляд на современный этап развития маркетинга как вида информационной деятельности. Реализован системный подход к определению сущности и современного предназначения маркетинговых информационных систем (МИС). Разработана авторская классификация маркетинговой информации как основы формирования и функционирования МИС. Сформулированы методологические принципы и разработана авторская модель МИС на основе переменных комплекса маркетинга. Существенное внимание в монографии уделено информационным технологиям и программному обеспечению при реализации МИС. Монография рекомендуется для использования в учебном процессе при подготовке специалистов, бакалавров, магистров, аспирантов и докторантов в области маркетинга, организации и управления инновационной экономикой, а также в научно-исследовательской работе и практике рыночной деятельности.
Shell -- это командная оболочка. Но это не просто промежуточное звено между пользователем и операционой системой, это еще и мощный язык программирования. Программы на языке shell называют сценариями, или скриптами. Фактически, из скриптов доступен полный набор команд, утилит и программ UNIX. Если этого недостаточно, то к вашим услугам внутренние команды shell -- условные операторы, операторы циклов и пр., которые увеличивают мощь и гибкость сценариев. Shell-скрипты исключительно хороши при программировании задач администрирования системы и др., которые не требуют для своего создания полновесных языков программирования.

Обработка Соединений

Учебник РНР
Назад Вперёд

Глава 21. Обслуживание соединений

Примечание: последующая информация применяется к версиям 3.0.7 и новее.

Статус соединения обслуживается в PHP внутренне. Есть три возможных состояния:

  • 0 - NORMAL

  • 1 - ABORTED

  • 2 - TIMEOUT

Когда PHP-скрипт запущен нормально, активен статус NORMAL. Если удалённый клиент отсоединяется, включён флаг ABORTED. Отсоединение удалённого клиента происходит чаще всего тогда, когда пользователь нажимает кнопку STOP браузера. Если действует ограничение времени, установленное PHP (см. set_time_limit()), включён флаг TIMEOUT.

Вы можете решить, вызывает ли отключение клиента прерывание работы вашего скрипта. Иногда бывает удобно выполнять ваши скрипты до конца, даже если отсутствует удалённый браузер, принимающий вывод. По умолчанию, однако, ваш скрипт прерывает работу, когда удалённый клиент отсоединяется. Это поведение может быть установлено директивой ignore_user_abort в файле php.ini, а также через соответствующую "php_value ignore_user_abort" Apache .conf-директиву или функцией ignore_user_abort(). Если вы не указали PHP игнорировать прерывание работы пользователем и пользователь это сделал, ваш скрипт прекращает работу. Единственное исключение, когда вы зарегистрировали shutdown-функцию с использованием register_shutdown_function(). Когда при этом удалённый пользователь нажимает кнопку STOP, ваш скрипт в следующий момент пытается вывести что-нибудь, PHP обнаруживает, что соединение было разорвано, и вызывается shutdown-функция. Эта shutdown-функция будет также вызвана в конце нормального завершения работы вашего скрипта, поэтому, для того чтобы сделать что-нибудь другое в случае отсоединения клиента, вы можете использовать функцию connection_aborted(). Эта функция возвратит TRUE, если соединение было разорвано.

Выполнение вашего скрипта может быть также прервано встроенным таймером скрипта. Таймаут по умолчанию составляет 30 секунд. Он может быть изменён путём использования директивы max_execution_time в php.ini или соответствующей "php_value max_execution_time" Apache .conf-директивой, а также функцией set_time_limit(). Когда таймаут заканчивается, работа скрипта прервётся, и, как и в случае с отсоединением клиента, если shutdown-функция была зарегистрирована, она вызывается. В этой shutdown-функции вы можете проверить, вызвал ли таймаут данную shutdown-функцию, с помощью функции connection_timeout(). Эта функция возвращает TRUE, если таймаут вызывал эту shutdown-функцию.

Единственное, что необходимо отметить, это что статусы ABORTED и TIMEOUT могут быть активны одновременно. Это возможно, если вы укажете PHP игнорировать пользовательские прерывания соединения. PHP будет отмечать тот факт, что пользователь может разорвать соединение, но скрипт продолжит работу. Если затем истечёт таймаут, скрипт будет прерван, а ваша shutdown-функция, если имеется, будет вызвана. В этой точке вы можете увидеть, что функции connection_timeout() и connection_aborted() возвращают TRUE. Вы также можете проверить оба статуса в одном вызове connection_status(). Эта функция возвращает битовое поле активных статусов. Поэтому, если оба статуса активны, она, к примеру, возвратит 3.


Назад Оглавление Вперёд
Использование удалённых файлов Вверх Постоянные соединения с БД