PHP Excel-Speicherbegrenzung von 2 GB Das Lesen einer 286 KB-Datei ist erschöpft
Zusätzliche Informationen: Ich führe dies über die Befehlszeile aus. CentOS 6, 32 GB RAM insgesamt, 2 GB Speicher für PHP. Ich habe versucht, das Speicherlimit auf 4 GB zu erhöhen, aber jetzt bekomme ich eineFatal error: String size overflow
. PHP maximale String-Größe beträgt 2 GB.
Mein Code ist sehr einfacher Testcode:
$Reader = new SpreadsheetReader($_path_to_files . 'ABC.xls');
$i = 0;
foreach ($Reader as $Row)
{ $i++;
print_r($Row);
if($i>10) break;
}
Und es ist nur 10 Zeilen zu drucken. Und das braucht 2 Gigabyte Speicher?
Der Fehler tritt in Zeile 253 in excel_reader2.php auf
In der KlasseOLERead
, Innerhalbfunction read($sFilenName)
Hier ist der Code, der meine Erschöpfung verursacht:
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;
}