2016-05-26 9 views
0

Ich arbeite an einem Projekt, das PDF-Dateien generiert. Ich verwende die TCPDF-Bibliothek mit ihrer Methode "WriteHTML".Erlaubte Speichergröße erschöpfte Verkettung var

die HTML zu schreiben, kann ich einige wie folgt aus:

$html = ""; 
for($i = 0; $i < $someBigNumber; $i++){ 
    $html .= "BigData"; //Here I do a concatenate 
} 
$pdf->WriteHTML($html, paramaters); 

Aber das Problem ist, dass, wenn $ somenumber so groß ist, oder die Daten sind so groß, da ein schwerwiegender Fehler ist.

Fatal error: Erlaubt Speichergröße von 134217728 Bytes erschöpft (versuchte 36 Bytes zuzuteilen)

+1

Ja, es ist lustig, wie das funktioniert, nicht wahr? Erstellen Sie eine sehr große Zeichenfolge im Speicher, und es verwendet .... Speicher .... Wenn Sie unbedingt enorme Zeichenfolgen im Speicher erstellen müssen, dann erhöhen Sie die Speicherkapazität von PHP; ansonsten auf Optionen wie Streaming-Daten schauen, oder eine Datei erstellen und dann diese Datei in den PDF-Renderer laden –

+0

134 mb html ist ziemlich viel Text –

Antwort

1

Set Konfigurationswert memory_limit = 256M (oder mehr) in der php.ini Einstellungen oder .htaccess (root in Richt)

+2

Wahrscheinlich möchten Sie ein 'M' enthalten oder sonst sprechen Sie 256 Bytes. –