У меня есть бэкэнд-система, своего рода управление запасами. Я хочу просто загрузить весь свой инвентарь в Excel Sheet. Для этого я использовал PhpExcel, поскольку моя система построена на php.
Пока все работает нормально (количество записей было около 9 000). Но поскольку я загрузил еще 12 000 записей в базу данных, система вызывает проблемы при создании файла Excel.
Файл Excel:
Сгенерированный файл excel содержит несколько листов (возможно, около 12). Примерно 3 из них содержат> 100 тыс. Записей. В основном это зависит от количества записей.
Например: Records = product & single product содержит несколько атрибутов. Итак, если у меня есть 22 000 продуктов, и каждый продукт содержит 10 атрибутов, тогда у меня будет 22 0000 записей в таблице атрибутов. Насколько я могу понять эту проблему, я думаю, что эти 3 листа, связанные с атрибутами, вызывают проблему.
Что я могу сделать, чтобы предотвратить эту проблему?
Возможный дубликат PHPExcel исчерпывает 256, 512, а также 1024 МБ ОЗУ.
Пожалуйста, не используйте индийские слова, такие как «лак». Неиндийцам будет действительно сложно понять, что означает «в счетах».
@JamesZ Спасибо. Я буду помнить об этом в будущих публикациях.






попробуйте изменить конфигурацию ниже в файле php.ini
max_input_vars
max_execution_time
post_max_size
к более высоким значениям вашей текущей конфигурации
Здесь я не загружаю. Я пытаюсь скачать файл. Так что post_max_size для меня не имеет смысла.
@AnubhavGupta, вы правы, я искал, нашел здесь хорошую статью stackoverflow.com/questions/4895230/…
Ответ может измениться в зависимости от точки отказа: проблема в запросе / ответе в сети (я предполагаю, что вы создаете ее на веб-странице)? Если это проблема, решение может заключаться в том, чтобы поставить очередь заданий (очередь сообщений) и получить отчет, отправленный по электронной почте после генерации (вместо ответа на запрос). Если проблема заключается в раздуваемой / не отвечающей базе данных, может помочь добавление правильных индексов. Я предлагаю найти журналы базы данных и повторно запустить запросы с подробностями выполнения (например, если mysql вы можете запустить
explain <sql query>).