Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Остановка выполнения скрипта

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Albertino
Отправлено: 01 Апреля, 2011 - 10:46:24
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




Можно ли както принудительно остановить выполнение php скрипта, когда он уже запищен, а то в нем есть ошибка и он не останавливыется и логи забивают все место на сервере.
сервер на Windows 2008, стоит сборка веб сервера ZendServer

(Отредактировано автором: 01 Апреля, 2011 - 10:48:43)

 
 Top
AdMeen
Отправлено: 01 Апреля, 2011 - 10:50:48
Post Id



Посетитель


Покинул форум
Сообщений всего: 370
Дата рег-ции: Сент. 2009  
Откуда: Воронеж


Помог: 1 раз(а)




Albertino пишет:
Можно ли както принудительно остановить выполнение php скрипта, когда он уже запищен, а то в нем есть ошибка и он не останавливыется и логи забивают все место на сервере.
сервер на Windows 2008, стоит сборка веб сервера ZendServer


exit();
 
 Top
Albertino
Отправлено: 01 Апреля, 2011 - 10:54:38
Post Id


Гость


Покинул форум
Сообщений всего: 92
Дата рег-ции: Окт. 2010  


Помог: 0 раз(а)




AdMeen пишет:

Вы не правильно поняли скрипт уже выполняется и мне надо заставить его закончить работать, а exit() это другое его пишешь в коде скрипта когда он еще не запущен

(Отредактировано автором: 01 Апреля, 2011 - 10:55:07)

 
 Top
JustUserR
Отправлено: 02 Апреля, 2011 - 21:17:47
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Albertino пишет:
Можно ли както принудительно остановить выполнение php скрипта, когда он уже запищен, а то в нем есть ошибка и он не останавливыется и логи забивают все место на сервере.
В качестве возможного варианта для осуществления решения предполагаемой задачи, заключающеся в огранизации действий по инициализации прекращения исполнения целевого процесса web-приложения, функционирования которого производится на основании CGI-совместимого интерфейса во вложенной дифференциированной группе сопоставленных процессов, для которых осуществляется проектирование внешних параметров переменной среды во вторичную внутренний пониженный базовый уровень элементного трактования, допустимо использование формированных параметров локальной инстанции, которые могут быть инициализированы в отношении текущего идентификатора процесса в наследованной области переменной среды
Таким образом возможно осуществление фунционирование предполагаемой задачи на основании следующего решения, обеспечивающего целевую реализацию в условиях размещения в приоритетной первичной ступени внутреннего пониженный базовый уровень элементного трактованияпредоставленного PHP-кода в
PHP:
скопировать код в буфер обмена
  1. if(getenv("STOP_FLAF".getpid())=="true") {exit;}
  2. else {}


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Августа, 2011 - 20:00:10
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




Извиняюсь за "археологию" но два ответа на поставленный вопрос - вообще ни о чем...

Допустим у меня сервер и некий чел тестирует там сайт.
И вот этот чел берет и запускает бесконечный цикл в пхп.
пхп установлен как CGI и после некоторой задержки сервер перестает ждать ответа от CGI и выдает 500-ю ошибку - мол бед гетвей, все дела.

А вот сам процесс пхп преспокойно продолжает выполняться пожирая ресурсы.
И вот я как м***к лезу в кансоль и убиваю ветку процесса по пиду.

Ну так будьте ласковы, объясните как сделать так, чтобы оно самоубилось?
Как узнать (в контексте CGI) что сервер ответ от тебя уже не ждет, и значит уже надо бы завершиться?

set_time_limit тут вообще рядом не стоял,
т.к. указание нулевого значения в пхп-скрипте уже ничего не остановит,
а ограничивать принудительно - не дело вообще.
 
 Top
White
Отправлено: 24 Августа, 2011 - 21:48:10
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




DeepVarvar пишет:
после некоторой задержки сервер перестает ждать ответа от CGI и выдает 500-ю ошибку

а max_execution_time = время задержки до 500 не спасет? или это не удобно?
в fcgi есть один небольшой баг связанный с дочерними процессами https://bugs.php.net/bug.php?id=40286
может речь об этом?


-----
if(time()>1356048000) die();
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Августа, 2011 - 22:02:29
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




White да, оно..
Там чувак предлагает в крон запихнуть задачу и проверять работающие процессы длительностью более определенного времени..

А бага, да, и в 5.1 и в 5.2...
Щас посмотрю, может в 5.3 подправили, т.к. говорят что патч не помогаэ даже если перекомпилить..
(Добавление)
И пару каментов про настройки, что мол памагло:

cgi.fix_pathinfo=1
session.gc_probability = 1
(Добавление)
5.3 все с той же проблемой
 
 Top
White
Отправлено: 24 Августа, 2011 - 22:12:42
Post Id



Частый посетитель


Покинул форум
Сообщений всего: 830
Дата рег-ции: Июнь 2011  
Откуда: Днепропетровск


Помог: 28 раз(а)




DeepVarvar
может и правда в крон... хотя больше на костыль похоже


-----
if(time()>1356048000) die();
 
 Top
DeepVarvar Супермодератор
Отправлено: 24 Августа, 2011 - 22:14:28
Post Id



Активный участник


Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008  
Откуда: Альфа Центавра


Помог: 353 раз(а)




DeepVarvar пишет:
session.gc_probability
вот эта хрень отвечает за сбор "мусора" с крона для пхп. Какраз то о чем говорил чувак.
(Добавление)
Дааа, в дебиане не доступна такая фишка через php.ini - только крон.
Спойлер (Отобразить)

(Добавление)
Ладно, сейчас не важно - потом "покурю", потюнингую. Ну и отпишусь о результатах.
(Добавление)
залез в кронтаб:

завершение через 24 минуты если не определено.

Ладно - куда копать уже понятно. Закатив глазки
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« Apache и другие веб-серверы »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB