The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"Раздел полезных советов: Особенности работы длительно выполн..."
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Разговоры, обсуждение новостей (Public)
Изначальное сообщение [ Отслеживать ]

"Раздел полезных советов: Особенности работы длительно выполн..."  
Сообщение от auto_tips on 28-Май-08, 12:23 
Рассмотрим поведение Apache при принудительном закрытии клиентом окна браузера, в котором отображался вывод еще не завершенного PHP скрипта. Например, скрипт зациклился или пользователь устал ждать конца операции.

<p>Особенность в том, что скрипт будет принудительно завершен, только в момент физического вывода данных, т.е. после сброса буфера, например после отправки большого числа данных или вызова функций ob_flush() и flush(). Если вывода данных клиенту не производится или буфер вывода остается несброшенным, то скрипт так и будет выполняться до истечении времени заданного через параметр настройки PHP - max_execution_time. При этом не важно, в какое значение в конфигурации PHP установлен параметр ignore_user_abort.

<p>В качестве обходного пути для прерывания скриптов в течение длительного времени не производящих вывод данных, например, вследствие выполнения длительного SQL запроса, можно использовать расширение <a href="http://php.net/pcntl">pcntl</a>, вызывая функцию pcntl_alarm(таймаут). В отличие от max_execution_time/set_time_limit, определяющих максимальное время утилизации CPU (при выполнении запросов к SQL серверу процессорное время расходуется минимально и скрипт может оставаться висеть днями), функция pcntl_alarm оперирует секундами реального времени.

URL: http://www.mysqlperformanceblog.com/2008/05/20/apache-php-my.../
Обсуждается: http://www.opennet.dev/tips/info/1675.shtml

Высказать мнение | Ответить | Правка | Cообщить модератору

 Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Особенности работы длительно выполняющихся PHP скриптов в Ap..."  
Сообщение от Kabancheg email on 28-Май-08, 12:23 
Смысл не уловил...
Чем
set_time_limit(0);    
ignore_user_abort(true);
не угодили? или я чего-то не понял...
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "Особенности работы длительно выполняющихся PHP скриптов в Ap..."  
Сообщение от User294 (ok) on 28-Май-08, 15:06 
Смысл туп как валенок - если скрипт повис и жрет оперативу но не грузит проц - будет сутками висеть.А если таких скриптов повиснет дофига - на сервере закончится память и начнется ахтунг :)
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "Особенности работы длительно выполняющихся PHP скриптов в Ap..."  
Сообщение от User294 (ok) on 28-Май-08, 15:07 
А если о фишке пронюхал хакер - он может и злонамеренно вызывать такой эффект, создавая DoS на сервер по сути с минимальными затратами.
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "Особенности работы длительно выполняющихся PHP скриптов в Ap..."  
Сообщение от Andrey Zentavr on 03-Июн-08, 11:30 
Мои юзвери так ложили Fedora Core 8 на которой Индеец стоял и Invision power Board
Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру