Ограничение памяти в PHP Excel 2 ГБ. Исчерпано чтение файла размером 286 КБ.
Дополнительная информация: я запускаю это из командной строки. CentOS 6, 32 ГБ оперативной памяти, 2 ГБ памяти для PHP. Я попытался увеличить ограничение памяти до 4 ГБ, но теперь я получаюFatal error: String size overflow
. PHP максимальный размер строки составляет 2 ГБ.
Мой код очень простой тестовый код:
$Reader = new SpreadsheetReader($_path_to_files . 'ABC.xls');
$i = 0;
foreach ($Reader as $Row)
{ $i++;
print_r($Row);
if($i>10) break;
}
И это только для печати 10 строк. И что занимает 2 гигабайта памяти?
Ошибка происходит в строке 253 в excel_reader2.php
Внутри классаOLERead
внутриfunction read($sFilenName)
Вот код, вызывающий мое истощение:
if ($this->numExtensionBlocks != 0) {
$bbdBlocks = (BIG_BLOCK_SIZE - BIG_BLOCK_DEPOT_BLOCKS_POS)/4;
}
for ($i = 0; $i < $bbdBlocks; $i++) { // LINE 253
$bigBlockDepotBlocks[$i] = GetInt4d($this->data, $pos);
$pos += 4;
}