Мое приложение обрабатывает тысячи записей в базе данных и позволяет пользователю экспортировать определенную часть списка результатов поиска.
Каждый Entry
содержит определенные файлы, и пользователь хочет загрузить их в сжатом файле (например, zip). Это работает нормально, но я, скорее всего, столкнулся с максимальным временем ожидания выполнения. Я пытался по причинам отладки просто настроить max_execution_time
для PHP вообще и в моем php-скрипте. Оба не пропустили ошибку.
В основном у меня есть два вопроса:
- Как правильно проанализировать проблему? (Связано ли это с максимальным временем выполнения)
- Как опустить максимальные тайм-ауты выполнения? (Скорее всего это так, потому что с меньшим количеством запросов он работает просто отлично)
Пример кода:
public function export(Requests\ExportRequest $request)
{
$input = $request->all();
foreach ($input['entries'] as $id) {
$entry = Entry::findOrFail($id);
}
}
ИЗМЕНИТЬ:
К вашему сведению, проблема была не в max_execution_time
, даже если это значительно сократило количество SQL-запросов. Проблема была вызвана ограничением max_input_vars
. Целевые записи были проверены в форме и отправлены в функцию export(). У каждого флажка было name=entries[]
, из-за чего каждая запись имела отдельное входное значение. Подробнее об этой проблеме можно прочитать здесь: Is есть ли ограничение на установленные флажки в PHP-форме POST? (подумайте также о том, чтобы прочитать этот конкретный ответ)