Skip to content
Advertisement

gzdecode() insufficient memory – size is exhausted

Do you know any solucion to unpack large .gz in php (>200 MB .gz, >4GB original… maybe in packs of >1GB or >2GB inside) ?

Solucion of decode .gz part by part is needed.

Code gzdecode(@file_get_contents($file))

gets PHP error:

PHP Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate …

of course.

I cannot increase the PHP memory limit of the webserver, and it seems to be no point in trying while data >>1GB.

Using inflate_add() isn’t solution, it generates the same “PHP Fatal error: Allowed memory size … exhausted …”.

Any idea? (I found no answers in 1, 2 etc.)

Advertisement

Answer

Use gzopen() instead of gzdcode(). Then you can read small chunks at a time with gzread().

User contributions licensed under: CC BY-SA
2 People found this is helpful
Advertisement