причины обрыва выполнения скрипта php

123
C
На сайте с 20.05.2011
Offline
14
#11

можно попробовать в register_shutdown_function продампить кол-во запрошенной памяти и прочие ресы, но ессно, зависит от того, что и как его рубит, не факт. что она будет вызвана, но можно поробовать, затем сравнить с теми лимитами, которые разрешены в конфигах ПХП

Bitman
На сайте с 05.07.2009
Offline
112
#12

Лимиты лучше в настройках сервера прописать.

Северный лес (https://euro-vagonka.by) DREW (https://drew.by) AvtoDrive (https://avtodrive.by)
Ink-developer
На сайте с 31.01.2009
Offline
138
#13


<?php
ini_set("max_execution_time","600");
for($i=0;$i<300;$i++){
sleep(1);
echo $i."<br />";
flush();
}
?>

Смоделировал ситуацию в наиболее простом виде, кто мне пояснит, почему скрипт прекращает работу на 174 секунде? Как лечить?

.

LS
На сайте с 10.08.2010
Offline
42
#14

Ink-developer, скорее всего не отрабатывает ini_set("max_execution_time","600"). скопипастил код и запустил скрипт в консоли - дошел до 299 и успешно завершил работу.

Попробуйте на своем серваке в консоли SSH запустить код - до скольки дойдет.

Ink-developer
На сайте с 31.01.2009
Offline
138
#15

По php info видно что max_execution_time срабатывает и ошибки обрыва нет так что дело не в нем. + ко всему вылетало бы на 30ой секунде.

В локалке действительно работает, но почему на сервере не пашет, что же с ним делать?

LS
На сайте с 10.08.2010
Offline
42
#16

Если в консоли пилит, а через сервер - нет, надо смотреть в сторону настройки вебсервера. Может там таймауты на keep-alive зажаты?

А 30 сек это дефолт, если в ини прописать 60, но запретить изменения во время исполнения, стопать будет через минуту.

Ink-developer
На сайте с 31.01.2009
Offline
138
#17
LiquidStorm:
Если в консоли пилит, а через сервер - нет, надо смотреть в сторону настройки вебсервера. Может там таймауты на keep-alive зажаты?

А 30 сек это дефолт, если в ини прописать 60, но запретить изменения во время исполнения, стопать будет через минуту.

Обрыв идет в разное время.

phpinfo():

Keep-Alive timeout=15, max=100

default_socket_timeout 60

max=100 не тут случайно собака зарыта? что это?

Я в настройках серверов не сильно грамотей так что и не знаю куда копать, сервер VDS

LS
На сайте с 10.08.2010
Offline
42
#18
Ink-developer:
Keep-Alive timeout=15, max=100

max=100 не тут случайно собака зарыта? что это?

Это значит, что если в течение 15 секунд ничего не передается через незакрытый сокет, либо передача данных занимает дольше 100 секунд, то сервер прикроет сокет.

Попробуйте поменять 100 на 200, kill -HUP вебсервер и посмотрите на какой секунде стопанется скрипт теперь.

Ink-developer
На сайте с 31.01.2009
Offline
138
#19

max=100

поставил 250, все равно обрыв скрипта на 174 секунде.

pigalica
На сайте с 16.06.2010
Offline
40
#20

а парсинг идёт там, в скрипте в смысле...

я имею ввиду, что парсинг с помощью cURL несколько неожиданно звучит )))

Получать страницу, а потом её обрабатывать,ещё пойму, но ПАРСИНГ средствами cURL - покажите мне...

чем парсите то? simple_html_dom или чем?

Capitalist - все платежные системы под одной крышей (https://capitalist.net/reg?from=c7a0f297a0)
123

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий