Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > 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 Очень долго гуглил, но, похоже, что с подобной проблемой у ПИРа никто не сталкивался. Буду рад любому совету:) |