sravis
sravis

Reputation: 3680

php mpdf memory limit error

For the first time im using mpdf library and everything worked fine. I wrote a script to create pdf file which consist a table of 274 rows. When i run the script i get php memory error. I tried different scenario but i get the same memory error. Please help me to solve this error. I have listed below different scenario and its result.

php.ini = memory_limit = 256M

script = ini_set('memory_limit', '25M');

Result:
memory_get_usage() = 12.75 mb
memory_get_peak_usage() = 12.75 mb
Fatal error: Allowed memory size of 26214400 bytes exhausted
(tried to allocate 261904 bytes)
in C:\xampp\htdocs\XX\lib\pdf\mpdf\mpdf.php on line 14268

php.ini = memory_limit = 256M

script = ini_set('memory_limit', '-1');

Result:
memory_get_usage() = 12.75 mb
memory_get_peak_usage() = 12.75 mb
Fatal error: Out of memory (allocated 1898971136)
(tried to allocate 261904 bytes) 
in C:\xampp\htdocs\XX\lib\pdf\mpdf\mpdf.php on line 14265

Upvotes: 14

Views: 22335

Answers (4)

Ratana Dev
Ratana Dev

Reputation: 66

mPDF uses a lot of memory on the server. If you get an error message that you have exceeded your memory limits, try the following:

It is more efficient in very long documents to process the HTML code in small chunks rather than as one large HTML string use ini_set("memory_limit","128M") or similar at the top of your script to allocate more memory generate a smaller mpdf.php file.

ini_set("memory_limit","128M"); $mpdf = new \Mpdf\Mpdf();

it working !!!

More detail: https://mpdf.github.io/troubleshooting/memory-problems.html

Upvotes: 2

flm
flm

Reputation: 970

Tables memory usage can be decreased using several options. official doc here

Upvotes: 5

BruneX
BruneX

Reputation: 588

Have you tried to see the phpinfo() output in order to see if the memory_limit value you're setting is changing? try to put that function at the top of your index.php file and see if the ini_set('memory_limit', '256M'); it's taking effect.

Regards!

Upvotes: 2

abe1432181
abe1432181

Reputation: 1316

I've found out of sync (</table>) tags can cause memory issues (and speed); cleaning up the HTML going into mPDF solved it.

Upvotes: 0

Related Questions