Autor Zpráva
Tomik
Profil
Dobrý den!
Mám tento problém: Fatal error: Allowed memory size of 8388608 bytes exhausted (tried to allocate 6168 bytes).
Vím, že je to způsobeno zabráním paměti, a to proto, že GD knihovna (pomocí které vytvářím obrázek, z jpegu) si dotyčný obrázek nejprve dekomprimuje a pak se i poměrně malý obrázek (300kB) nevejde do paměti.

Je však nějaké řešení? Jde nějak povolit vyšší paměť?

Díky Tomik
Hugo
Profil
Tomik

Musíš mít přístup k php.ini. Je to parametr memory_limit.
Tomik
Profil
Hmm, tak teď koukám na PHPINFO a je to nastavení jádra PHP, no napíšu adminovi,
ale lze nějak zjistit, kolik kB komprimovanýxh odpovídá nekomprimovaným 8MB (můj limit)... ??
Pak bych podle toho nastavil limit fotky...
Tomik
Profil
Hugo
Jo, díky, teď jsem to zjistil.
Jedu na hotingu, takže asi těžko... :(

Zeptám se admina, ale moc bych nevěžil, že to zvýší, i když... :)

Jak tedy lze zjistit ekvivalentní velikost komprimovaného obrázků k těm 8MB?
Pachollini
Profil
Bude to přibližně výška v px X šířka v px X 3 (3 byty na pixel - RGB) na každý otevřený obrázek.
Tomik
Profil
Pachollini
Díky...
Určitě vyzkouším...
jozob
Profil
Tomik
Veľkosť zistíš možno aj tak, že si zistíš reálnu úroveň kompresie (v percentách). Potom si to vynásobíš...
Tomik
Profil
jozob
Připadám si jako hlupák, ale jak zjistím tu reálnou úroveň komprese?
Pachollini
Profil
No přece tak, že spočítáš reálnou velikost obrázku (výška X šířka X 3) a vydělíš jí velikost komprimovaného obraázku ;-)
Tomik
Profil
Pachollini
Jasně, takže počítejte se mnou:

velikost obrazku = o
výška obrázk = v
šířka obrázku = s
velikost na pixel = p

((v * s * 3) / o) * o ... ;)
Tomik
Profil
Víte co je zvláštní,
na lokálu mám nastaveno také 8MB a běhá mi to tam bez problému,
online je také nastaveno 8MB a už to hází výše zmíněnou hlášku...
Pachollini
Profil
"vydělíš jí" je v češtine dvojznačné - není jasné, co se má čím dělit ;-)
kompresni pomer = o / (v * s *3)

> Víte co je zvláštní,
na lokálu mám nastaveno také 8MB a běhá mi to tam bez problému,
online je také nastaveno 8MB a už to hází výše zmíněnou hlášku...

To je sice maličko zvláštní, ale divil bych se až velkým rozdílům. Vzhledem k tomu, že každé asi běží na jiném OS s jiným nastavením a pravděpodobně i verzí PHP, dokázal bych si to nějak vysvětlit.
Tomik
Profil
Pachollini
Jo, díky. No stejně jsem to prostě spočítal jako (v * s * 3).

Jinak verzí to nebude ta je stejná, nastavení se zdá (to co by to IMHO mohlo ovlivňovat) je stejné.
Ještě to testnu na Linuxu (jak jsi správně předpokládal jedu na WIN).

Jinak díky moc. :)
Toto téma je uzamčeno. Odpověď nelze zaslat.