В одном из Интернет-магазинов на Magento один из товаров не отображался полностью, а только заголовок товара, в панели веб-мастера для этой страницы были указаны многочисленные ошибки 500.
Вскрытие логов показало:
[10-Jan-2015 10:22:21 UTC] PHP Fatal error: Allowed memory size of 67108864 bytes exhausted (tried to allocate 12470401 bytes) in /public_html/lib/Varien/Image/Adapter/Gd2.php on line 246
Проблема здесь в обработке изображений больших размеров (1800 x 1732 px), для обработки которых нужно много оперативной памяти. Так к примеру в изображения товара было залито изображение размером 1800 x 1732 px, которое с помощью Gd2 было уменьшено и при наведении указателя мыши на него, на нём появляется квадрат, юзая который по изображению можно просматривать часть полного размера изображения - вот для этой фигулины и не хватило РАМы.
Выходов несколько: либо увеличить РАМы в php.ini:
memory_limit = 64M
to
memory_limit = 128M
либо же не заливать слишком большие изображения - максимум 350-400 px.
Воизбежание перерасхода РАМы и появления ошибок "
Magento memory size exhausted in Gd2" желательно для товаров не заливать изображения более 800х800 px.