Fix for TCPDF Fatal Error "Allowed memory size exhausted"
When using TCPDF to generate a PDF file by keeping a large sized images as background image of PDF I got a Fatal error.
it printed the following fatal error message
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 9920 bytes) in D:\wamp\www\tcpdf\unicode_data.php on line 4835
This means that the process is trying to consume more memory that is allowed. The PHP config file php.ini specifies how much memory each script is allowed to use for the execution. May be the allowed Mb of RAM(memory) isn't enough for PHP script, that generate PDF file.
Solution
Here the fix:- Locate php.ini on your server, usually /etc/php.ini, find "memory_limit" and change the value to a higher Memory.
From the above example of Fatal warning. It shows the PDF script tried to consume memory more than the allowed 32 MB, so the "memory_limit" value in PHP.INI should be changed to some thing like given below:
memory_limit = 256M;
Usage of memory_limit directive in php
This php.ini directive accepts integer value
This sets the maximum amount of memory in bytes that a script is allowed to allocate. This helps prevent poorly written scripts for eating up all available memory on a server. Note that to have no memory limit, set this directive to -1.
After that, Restart the Apache Webserver
and finally test the TCPDF script again
Tip: to covert byte to Mb, divide byte value by 1024 . divide the result again by 1024.
from the example 33554432 byte
33554432 / 1024 / 1024 = 32 Mb
to covert byte to Kb, divide byte value by 1024
from the example 33554432 byte
33554432 / 1024 = 32768 Kb
Php.ini directive
http://www.tcpdf.org/
When using TCPDF to generate a PDF file by keeping a large sized images as background image of PDF I got a Fatal error.
it printed the following fatal error message
Fatal error: Allowed memory size of 33554432 bytes exhausted (tried to allocate 9920 bytes) in D:\wamp\www\tcpdf\unicode_data.php on line 4835
This means that the process is trying to consume more memory that is allowed. The PHP config file php.ini specifies how much memory each script is allowed to use for the execution. May be the allowed Mb of RAM(memory) isn't enough for PHP script, that generate PDF file.
Solution
Here the fix:- Locate php.ini on your server, usually /etc/php.ini, find "memory_limit" and change the value to a higher Memory.
From the above example of Fatal warning. It shows the PDF script tried to consume memory more than the allowed 32 MB, so the "memory_limit" value in PHP.INI should be changed to some thing like given below:
memory_limit = 256M;
Usage of memory_limit directive in php
This php.ini directive accepts integer value
This sets the maximum amount of memory in bytes that a script is allowed to allocate. This helps prevent poorly written scripts for eating up all available memory on a server. Note that to have no memory limit, set this directive to -1.
After that, Restart the Apache Webserver
and finally test the TCPDF script again
Tip: to covert byte to Mb, divide byte value by 1024 . divide the result again by 1024.
from the example 33554432 byte
33554432 / 1024 / 1024 = 32 Mb
to covert byte to Kb, divide byte value by 1024
from the example 33554432 byte
33554432 / 1024 = 32768 Kb
Php.ini directive
http://www.tcpdf.org/