2016-05-26 5 views
0

Я работаю над проектом, который создает файлы PDF. Я использую библиотеку TCPDF со своим методом «WriteHTML».Допустимый размер памяти, израсходованный конкатенацией var

Чтобы написать HTML, я некоторые, как это:

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

Но проблема в том, что если $ someNumber настолько велики, или данные настолько велики, есть фатальная ошибка.

Фатальная ошибка: Разрешены памяти размером 134217728 байт исчерпаны (пытались выделить 36 байт)

+1

Да, смешно, как работает, не так ли? создайте очень большую строку в памяти, и она использует .... память .... если вам абсолютно необходимо создавать огромные строки в памяти, а затем увеличить запас памяти PHP; в противном случае посмотрите на такие параметры, как потоковые данные, или создайте файл, а затем загрузите этот файл в рендеринг PDF. –

+0

134 mb html довольно немного текста. –

ответ

1

значение конфигурации Set memory_limit = 256M (или больше) в настройках php.ini или .htaccess файл (в корневой директории)

+2

Возможно, хотите включить 'M', иначе вы говорите 256 байтов. –

Смежные вопросы