У меня есть несколько очень долго выполняющихся скриптов, а мое max_execution_time равно 5
Однако когда я брал информацию с plus.google.com, это заняло около пяти минут. Все работало хорошо, но это был просто процесс, отнимающий много времени, после этих пяти минут он умер на максимуме max_execution_time.
Мой вопрос -> как это возможно? Считается ли max_execution_time только тогда, когда НИЧЕГО не происходит (или, например, много чего много раз (бесконечный цикл))?
Он начинает отсчет, когда вы начинаете выполнение; причина, по которой скрипт не умирает, пока не вернется вызов Google, заключается в том, что таймер не проверяется во время выполнения системного вызова, но когда системный вызов возвращается, PHP смотрит на таймер и говорит: «О, вы вышли времени »и завершает сценарий.
Счетчик проверяется только тогда, когда поток выполнения находится внутри PHP - когда процесс спит (ожидает блокировки ввода-вывода), он не может проверить часы. Это также происходит, если поток выполнения переходит в расширение и остается там в течение некоторого времени.