Предотвращение таймаута во время большого запроса в PHP

Я делаю большой запрос на серверы яркости, чтобы сделать групповое изменение метаданных в моих видео. Похоже, что он прошел через 1000 итераций, а затем остановился – может ли кто-нибудь помочь в настройке этого кода, чтобы предотвратить тайм-аут? Он должен сделать около 7000/8000 итераций.

<?php include 'echove.php'; $e = new Echove( 'xxxxx', 'xxxxx' ); // Read Video IDs # Define our parameters $params = array( 'fields' => 'id,referenceId' ); # Make our API call $videos = $e->findAll('video', $params); //print_r($videos); foreach ($videos as $video) { //print_r($video); $ref_id = $video->referenceId; $vid_id = $video->id; switch ($ref_id) { case "": $metaData = array( 'id' => $vid_id, 'referenceId' => $vid_id ); # Update a video with the new meta data $e->update('video', $metaData); echo "$vid_id updated sucessfully!<br />"; break; default: echo "$ref_id was not updated. <br />"; break; } } ?> 

Благодаря!

Попробуйте функцию set_time_limit () . Вызов set_time_limit(0) удалит любые временные ограничения для выполнения скрипта.

Попробуйте отправить «Status: 102 Processing» время от времени, чтобы предотвратить отключение тайм-аута браузера (ваш лучший выбор составляет от 15 до 30 секунд между ними). После обработки запроса вы можете отправить окончательный ответ.

Браузеру больше не нужно тайм-аут.

Также используйте ignore_user_abort (), чтобы обойти прерывание браузера. Сценарий будет работать даже при закрытии браузера (используйте его с осторожностью).