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

123 4
Ink-developer
На сайте с 31.01.2009
Offline
138
5499

Сначала создал тему в разделе Веб-строительство, но как выяснилось проблема не связана с самим кодом php и в том разделе, возможно нет специалистов которые знают ее решение.

Суть проблемы в том, что сервер обрывает выполнение скрипта на 170-180 секунде без вывода ошибок, в phpinfo() время выполнения стоит 600 секунд:

max_execution_time 600

Проверил на другом хостинге, там вообще обрыв идет на 130 секунде и выдает ошибку:

504 Gateway Time-out

Тут уже обсуждался мой вопрос:

/ru/forum/671535

Сам код:

<?php
ini_set("max_execution_time","600");
ignore_user_abort(1);
error_reporting(E_ALL);
set_time_limit(600);
for($i=0;$i<300;$i++){
sleep(1);
file_put_contents("test.dat",$i);
}
?>

На локальном сервере скрипт отрабатывает до конца.

Какие настройки php.ini или httpd.conf могут быть причастны к этому или как решить проблему?

LEOnidUKG
На сайте с 25.11.2006
Offline
1723
#1

А у вас сервер или VPS?

✅ Мой Телеграм канал по SEO, оптимизации сайтов и серверов: https://t.me/leonidukgLIVE ✅ Качественное и рабочее размещение SEO статей СНГ и Бурж: https://getmanylinks.ru/
Ink-developer
На сайте с 31.01.2009
Offline
138
#2
LEOnidUKG:
А у вас сервер или VPS?

Хостинг VPS, любые настройки доступны

Вот тут похожая проблема:

/ru/forum/552213

Кстати хостер сказал что у них нет услуги администрирования и в моей проблеме предложили разбираться самому.

M
На сайте с 01.12.2009
Offline
235
#3

Это вы так думаете что в VPS любые настройки доступны ;)

На самом деле, обрывы могут быть по разным причинам, в плоть до перегрузок основного сервера, где стоит ваш vps/

Администратор Linux,Freebsd. построения крупных проектов.
Ink-developer
На сайте с 31.01.2009
Offline
138
#4
madoff:
На самом деле, обрывы могут быть по разным причинам, в плоть до перегрузок основного сервера, где стоит ваш vps/

Заметьте что обрывы связаны с временным промежутком 170-180 секунд, это уже говорит о том, что это не связано с факторами типа перегрузки из за которой происходит обрыв если не учитывать генерацию нагрузки самим скриптом (которая может достигаться к этому времени), скрипт в свою очередь примитивен и это маловероятно.

Собственно может, кто знает какие лимиты покрутить, может методом тыка решится проблема? Вообще я крайне удивлен, что никто не сталкивался с такими обрывами, с учетом того, что на мной проверенных хостингах она имеется везде.

M
На сайте с 01.12.2009
Offline
235
#5

Это говорит о закономерности,170-180 секунд, что в свою очередь, может помочь понять причину обрывов.

Чё за система, как запускаете скрипт, браузером ? cron ? nginx стоит ?

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

PHP Version 5.2.6

gentoo linux

apache2

OpenVZ

2х2400мгц 2гб оперы

Запускаю браузером 170-180 сек.

Сейчас запустил кроном 121 секунда и оборвалось.

Еще вопрос по поводу phpinfo(): там две колонки Local Value, Master Value.

На Local Value можно воздействовать из php скрипта, а Master Value не изменяется.

Что означает каждая из колонок? Как я понимаю первая это данные в пределах конкретного скрипта, а вторая это вообще на сервере, правильно?

На другом VDS совсем другой хостинг, ситуация немного другая, скрипт вылетает рамдомно то 90 секунд то 109 то 180, и один раз даже закончил свою работу. Что бы это значило?

W
На сайте с 19.09.2008
Offline
40
#7

возможно дело в настройках таймаута

ExpireTimeout 180

в секции mpm_peruser_module

файла mpm.conf апача

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

woff, безмерно благодарен.

Ладно я, человек далекий от Apache, но те кто в теме неужели ни кто не слышал про ExpireTimeout? Удивляет то, что я около сотни тем прочитал за сутки про обрывы выполнения скрипта php и не в одной не встретил упоминание ExpireTimeout.

Проблема решена.

Для поиска:

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

504 gateway time-out

php.ini

httpd.conf

max_execution_time

M
На сайте с 16.09.2009
Offline
278
#9
Ink-developer:
Ладно я, человек далекий от Apache, но те кто в теме неужели ни кто не слышал про ExpireTimeout? Удивляет то, что я около сотни тем прочитал за сутки про обрывы выполнения скрипта php и не в одной не встретил упоминание ExpireTimeout.

Видимо потому, что невозможно телепатически догадаться о том, что у Вас установлен (мягко говоря) нестандартный MPM модуль апача.

Абонементное сопровождение серверов (Debian) Отправить личное сообщение (), написать письмо ().
LS
На сайте с 10.08.2010
Offline
42
#10

Ink-developer, в старой теме собственно вас было "пнули" в нужном направлении, не угадали чуток с параметром веб-сервера ;)

123 4

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