Делаю экспорт в CSV относительно dataProvider. Но получается, что в какой-то момент на сложной view (более 10 join) падает с ошибкой о нехватке памяти PDO.
По первому пункту есть, буфер выключал там по совету но не очень помогло. batch вообще положил все… Получается, что у меня идет выборка 5700 значений, потом все зависает и вылетает ошибка PDO о нехватке памяти…
Если есть возможность, то можно как-то связаться с вами, чтобы проконсультироваться, ибо уже над этим долго работаю и не понимаю. memory_get_usage всегда меньше чем лимит.
Нет, вы не поняли. У меня стоит limit 100 и offset 100. Далее я сделал batch(10): $this->dataProvider->query->limit(100)->offset(0)->batch(10) и все равно умирать стал на 5000 или 5700 записей, которые уже записал в файл.
Причем ошибка выдается не по php, а именно как pdo. Мол у него что-то не хватает. То есть алгоритм простой: делаем лимит и офсет + батч 10, в конце цикла делаем другой офсет и удаляем все переменные + ob_flush и flush (чтобы отдать сразу юзеру файл). Порционное скачивание идет, но по сути как-то захламляется PDO…