PSR-16 "кеш" на диске для реализации PhpSpreadsheet - PullRequest
0 голосов
/ 06 июля 2018

PhpSpreadhsheet занимает много памяти, и я не могу надежно использовать его для генерации больших файлов на моем сервере 2 ГБ. Я пытаюсь найти способ кэширования на диске вместо оперативной памяти, в документации сказано, что это возможно (https://phpspreadsheet.readthedocs.io/en/develop/topics/memory_saving/), но реализация не дается.

Я нашел два проекта github, которые реализуют PSR-16 на диске - https://github.com/duncan3dc/cache а также https://github.com/adinan-cenci/cache но они не работают для меня (второй, который я даже не смог установить)

Какие-либо реализации или обходные пути для сохранения временных файлов на диске или способ создания больших исключений без большого количества памяти?

1 Ответ

0 голосов
/ 23 июля 2019

Использовать php spout https://opensource.box.com/spout/ он поддерживает xlsx и ods, к сожалению, нет xls, но он работает с большими файлами без использования более 3 МБ ОЗУ для любого файла, который я использую, и очень хороший, жесткий для чтения файлы или их запись, если вам нужно отформатировать ячейки или цвета определенных ячеек, а не целую строку, в которой отсутствует битовая окраска и форматирование стилей ячеек, то лучше php excel или его новая версия PhpSpreadsheet, также эта новая версия теперь поддерживает .xls, но сохраняет ту же проблему с памятью

...