Ответ 1
Правила на max_execution_time
относительно просты.
-
Время выполнения начинает отсчитываться при интерпретации файла. Время, необходимое для подготовки запроса, подготовки загруженных файлов, веб-сервера, выполняющего его и т.д., Не учитывается в течение времени выполнения.
-
Время выполнения - это общее время выполнения script, включая запросы к базе данных, независимо от того, выполняется ли оно в циклах или нет. Таким образом, в первом и втором случае script завершится с ошибкой таймаута, потому что определено поведение
max_execution_time
. -
Внешние системные вызовы с использованием
exec()
и такие не подсчитывают время выполнения, за исключением Windows. (Источник) Это означает, что вы можете запустить внешнюю программу, которая занимает больше времениmax_execution_time
. -
При вызове из командной строки
max_execution_time
по умолчанию используется0
. (Источник) Итак, в третьем случае ваш script должен работать без ошибок. -
Время выполнения и использование памяти не имеют ничего общего друг с другом. A script может работать в течение нескольких часов, не достигая предела памяти. Если это так, то часто из-за цикла, где переменные не отключаются, а ранее зарезервированная память не освобождается должным образом.