NextGen Gallery a problém s Exceed Memory Limit
06/07 2009 23:40Po nedávném upgradu Wordpressu na 2.8 mě ještě čekal upgrade NextGen Gallery pluginu. Jaké to ale bylo nepříjemné překvapení, když jsem zjistil, že NGG prostě nevytvoří thumbnaily (vlastně singlepicy) obrázků. Namísto toho hodí hlášku “Error: Exceed Memory limit.”
![]()
Celý text hlášky si pak můžete přečíst třeba při vytváření nových náhledů v backendu NGG:
netvibes-big.jpg (Error : Exceed Memory limit. Require : 57.38 MByte)
Nikdy před tím jsem s tím neměl potíže a vždy jsem uploadoval obrázky do 200KB (1280×1024px max), tedy žádná panoramata a pododné.
Po pár minutách googlení jsem narazil na několik řešení, z nichž až to poslední pomohlo v mém případě – a to o několik krutých hodin později.
Zvýšení limitu paměti u hosta. Kontaktoval jsem tedy svého hosta s dotazem, je-li možné navýšení, řekněme tak na 128-196MB. Samozřejmě se mi vysmál a vysvětlil, že na jediný plugin jediného webu je to opravdu nemyslitelné navýšení, že chyba musí být jinde.
Dalším řešením-neřešením byla úprava souboru gd.thumbnail.inc.php – což je jen override php.ini, který na většině hostů (s vyjímkou localhostu a lépe placených) fungovat nebude.
Pokud se podíváte na příspěvek samotného Alexe Raba (tvůrce NGG) – Understand GD Library, zjistíte, že hláška o nedostatku paměti by se měla zobrazovat až ve chvíli, kdy se do galerie snažíte nacpat 15MP obrázek – tedy v nedostatku paměti to nebude.
Situace už vypadalo opravdu bezradně. Začal jsem se pomalu poohlížet po stejně sofistikovaném pluginu, bez úspěchu.
Naštěstí, jsem narazil na toto. Stačí v “nextgen-gallery/lib/gd.thumbnail.inc.php” zakomentovat následující řádky a je po problému.
if($this->error == false)
// Check memory consumption if file exists
$this->checkMemoryForImage($this->fileName);
}
Alespoň v mém případě zase vše funguje jak má.
Při hledání náhradního pluginu, který by spravoval galerii mého blogu (která není a nebude nijak velká) jsem zjistil, že NGG moc konkurence, co do propracovanosti, nemá. Jsem proto jenom rád, že jsem u něj po několikahodinovém pachtění mohl zůstat.
Michael :
11/08 2009 v 9:45
Mel jsem podobny problem, stacilo akorat odkomentovat 168. radek v souboru gd.thumbnail.inc.php – tam primo pisou:
// increase memory-limit if possible, GD needs this for large images
@ini_set(’memory_limit’, ‘128M’);
coz mi prijde jako trosku elegantnejsi reseni
Ondřej :
22/08 2009 v 8:36
Skvělý návod! Děkuji.
Řešení od Michaela mi nefungovalo, ale tvoje ano.
Libor :
02/09 2009 v 19:00
Ha, to jsem rád, Ondro!
A díky za tvou poznámku, Michaele.
Kluk od kasáren :
20/12 2009 v 11:52
Ahoj, díky moc. Narazil jsem na tu galerii a moc se mi líbila, ale nedělala ty náhledy, ušetřil jsi mi plno času!!!