[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Как обойти ограничения по времени выполнения php?
Страницы: 1, 2
stump
Цитата (killer8080 @ 16.03.2015 - 16:47)
По специфике веба скрипт не должен работать бесконечно, принял запрос, обработал, сгенерил контент, выплюнул, умер. И этот жизненный цикл должен быть минимальным.

Я об этом:

Цитата (https://php.net/manual/ru/function.set-time-limit.php)
Если скрипт не успевает, вызывается фатальная ошибка. По умолчанию дается 30 секунд, либо время, записанное в настройке max_execution_time в php.ini (если такая настройка установлена).


Хоть демон, хоть нет.

Впрочем:
Цитата (https://php.net/manual/ru/function.set-time-limit.php)
При вызове set_time_limit() перезапускает счетчик с нуля. Другими словами, если таймаут изначально был 30 секунд, и через 25 секунд после запуска скрипта будет вызвана функция set_time_limit(20), то скрипт будет работать максимум 45 секунд.


Хотя:
Цитата (https://php.net/manual/ru/info.configuration.php#ini.max-execution-time)
max_execution_time integer
Эта директива задает максимальное время в секундах, в течение которого скрипт должен полностью загрузиться. Если этого не происходит, анализатор завершает его работу. Этот механизм помогает предотвратить зависание сервера из-за криво написанного скрипта. По умолчанию на загрузку дается 30 секунд. Если PHP запущен из командной строки, это значение по умолчанию равно 0.


Если PHP запущен из командной строки, это значение по умолчанию равно 0.

ТС! Думаю что set_time_limit( 0 ) работать не будет потому что надо set_time_limit( 30 );

_____________
Трус не играет в хокей
killer8080
Цитата (stump @ 16.03.2015 - 16:43)
Я об этом:

Цитата (https://php.net/manual/ru/function.set-time-limit.php)Если скрипт не успевает, вызывается фатальная ошибка. По умолчанию дается 30 секунд, либо время, записанное в настройке max_execution_time в php.ini (если такая настройка установлена).

Хоть демон, хоть нет.

Противоречия никакого не замечаешь в своих словах? Ну ка бегом в гугл узнавать что такое демон rolleyes.gif
Цитата (stump @ 16.03.2015 - 16:43)
ТС! Думаю что set_time_limit( 0 ) работать не будет потому что надо set_time_limit( 30 );

Кому надо? blink.gif ТС-у явно не надо smile.gif
хоть и set_time_limit() не поможет по другим причинам, скорей всего хостер перезапускает "зависший" воркер.
stump
Цитата (killer8080 @ 16.03.2015 - 20:31)
Противоречия никакого не замечаешь в своих словах? Ну ка бегом в гугл узнавать что такое демон rolleyes.gif

ohmy.gif Пол шит! Бегу-бегу в гугл.

_____________
Трус не играет в хокей
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.