Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > PHP: Extensions > Spreadsheet_Excel_Writer memory exhausted


Автор: ozzy86 7.4.2011, 00:26
Всем привет!

Столкнулся с задачей по созданию эксель-отчёта средствами ПХП. Так как клиент требовал довольно детализированного форматирования экселевской таблицы, то было принято решение использовать PEAR Spreadsheet_Excel_Writer. Эта библиотека прекрасно справлялась с поставленной задачей, пока объём файла не стал увеличиваться до больших размеров. Сейчас размер конечного загружаемого файла - 1.8МБ.
Скрипт работает, только если в .htaccess задать php_value memory_limit 1260M. При чём это значение приходилось постоянно увеличивать.

Наверное я сумбурно изъясняюсь, но суть проблемы в том, что этот самый пакет Spreadsheet_Excel_Writer каким-то образом потребляет несоразмерно много памяти.

Естественно, если поставить лимит памяти в разумнче пределы, скажем 32МБ, то выскакивает соответствующая ошибка:
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 83 bytes) in /usr/share/php/Spreadsheet/Excel/Writer/Format.php on line 302

Очень долго гуглил, но, похоже, что с подобной проблемой у ПИРа никто не сталкивался.

Буду рад любому совету:)

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)