О максимальном тайм-ауте выполнения

У меня есть вопрос по поводу ответа сервера max execution timeout,

Если я вызвал серверный API для выполнения чего-то огромного и не смог завершить его в срок, установленный на сервере php.ini max_execution_time config, процесс на сервере все еще будет продолжаться?
— если так, будет ли это бесконечным?
— если нет, то останавливается ли процесс немедленно или отменяет цикл один за другим и завершает весь процесс.

По моему опыту, когда я получаю max execution timeout на локальном хостинге данные уже обрабатываются.

Так что я не уверен, что это потому, что он застрял в ответе до истечения времени ожидания или сервер продолжает работать после броска max execution timeout исключение.

0

Решение

Это действительно зависит от того, на что похож ваш PHP-код.

Обычно выполнение кода останавливается. Вы можете изменить это поведение, используя ignore_user_abort ().

1

Другие решения

Интерпретатор PHP запускает сценарии для конфигурации php.ini и проверяет max_execution_time = 500 и max_input_time = 500.

PHP не продолжает запускать скрипт после max_execution_time. Это просто «убивает» сценарий.

Что также может произойти, скрипт запускает запрос к базе данных, обычно запрос будет выполняться на сервере базы данных до тех пор, пока не завершится, независимо от того, что происходит со скриптом. Также вы можете получить время ожидания шлюза от веб-сервера, для Apache проверьте httpd.conf и найдите параметр Timeout.

Если вам нужно запустить сценарий, выполнение которого занимает много времени, намного больше, чем на остальной части вашего веб-сайта, вам следует вызвать веб-страницу, PHP на сервере, создать новый процесс в качестве фонового сценария (часть PHP, которая занимает много времени). времени), сообщите пользователю через асинхронные обновления статуса или отправив электронное письмо о том, что обработка завершена. Вы не должны расширять max_execution_time для всех сценариев только для одного исключения.

1

Это не продолжается после того, как исключение выдается. Это просто сокращается, когда время истекло.

Все до истечения времени ожидания. Если не предназначен специально для этого.

0

Процесс не будет продолжаться и останавливаться сразу после того, как будет достигнут лимит времени, установленный в конфигурации сервера php.ini max_executiontime, затем php сгенерирует исключение максимального времени ожидания выполнения.

Вот (Как увеличить максимальное время выполнения в php) если вы хотите увеличить максимальное время выполнения в файле php.

0
По вопросам рекламы [email protected]