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;

    }

Antworten auf die Frage(1)

Ihre Antwort auf die Frage