строк данных, выскакивает ошибка php memory_limit (недостаточно памяти для заполнения файла с таким большим кол-ом строк). Вопрос: Можно ли как-то с помощью этого расширения записывать данные "пакетами" (срезать их), то есть например записывать поочередно 5-10К строк и только потом давать ссылку на скачивание?
Если есть возможность (ресурсов) то можешь использовать команду ini_set('memory_limit', '350M'); (вместо 350 мб выбирай то что нужно)
тоже была такая проблема, но при импорте. попробуй лучше Box\Spout, оно вообще не жрет память
заюзал box/spout, но странно, все равно память падает при записи в файл. Хотя по идеи не должна, т.к. это расширение память максимум в 3Мб юзает. Храню во временном файле $tempfile = tempnam(sys_get_temp_dir(), 'report_excel'); Попробую еще через поток. Если тысяча строк, то нормально сохраняет, а вот при 50К падает память
у меня было похожее. до 1000 отрабатывает нормально, а как превышаешь, так и в астрал улетало. даже увеличение разрешенного объема хттп запроса не помогало, поскольку все равно новый потолок возникал, хотя и выше. но еще и небезопасно это. решил проблему делением на пачки и потоки. чтобы каждая пачка по 1000 была.
да, прописал batch(1000), с ним память не падает. Спасибо.
Для очень больших объемов в итоге просто выгрузка в csv. Excel нормально с ты ней работает и всех устроило.
Обсуждают сегодня