UMIhelp

Разработка сайта на UMI.CMS => Шаблоны XSLT => Тема начата: niakriss от 05 Декабря 2012, 10:38:00

Название: system makeThumbnailFull не работает
Отправлено: niakriss от 05 Декабря 2012, 10:38:00
Возникла проблема после обновления до 2.8.6. может кто сталкивался и решал ее? вывожу фотогалерею через makeThumbnailFull... если много фото или большие по размеру, то скрипт вешается и выдает

Fatal error: Maximum execution time of 30 seconds exceeded in /mnt/data/projects/sites/sloboda/site/htdocs/libs/lib.php on line 430

Если использую makeThumbnail то все нормально... но мне нужны превью обрезанные, а не растянутые((( подскажите, как обойти эту проблему можно?
Название: Re:system makeThumbnailFull не работает
Отправлено: Vladimir от 05 Декабря 2012, 17:22:45
Ответ заключен в выводимом сообщении "Maximum execution time of 30 seconds exceeded ", что в переводе с буржуинского на человеческий означает: превышен временной лимит в 30 сек.
Ограничение в 30 сек на время исполнения скрипта типично для всех хостинг-провайдеров.

В лучшем случае решение проблемы увеличением этого предела. Допишите в index.php команду
set_time_limit(60);

либо в  .htaccess
php_value max_execution_time 60

Однако следует учесть, что это не на всех хостингах может сработать, а если даже и сработает, то постоянное превышение лимита вряд ли понравится вашему хостеру.
Конечно, загружать большие фото, все же, нежелательно.
Название: Re:system makeThumbnailFull не работает
Отправлено: Vladimir от 05 Декабря 2012, 17:24:48
Я только в полной растерянности как это м.б. связано с обновлением - что ж там такого они поменяли???
Название: Re:system makeThumbnailFull не работает
Отправлено: niakriss от 06 Декабря 2012, 14:43:32
я не знаю что они поменяли.. но они согласились что это их проблема... я пробовала делать так  http://sloboda.dev.interso.local/udata://system/makeThumbnailFull/(./images/cms/data/sloboda_dance/6.jpg)/900/600/notemplate/0/1/1/true 
при этом получала generation-time="24.651378"
это почти во всех фотках... среднее время обработки одной фото 20 секунд... а их на странице по 10... естественно не помогает.. но при повторном запросе все норм...  generation-time="0.017587"
почему то он очень долго генерирует картинку в папку thumbs
Название: Re:system makeThumbnailFull не работает
Отправлено: admin от 10 Января 2013, 10:16:44
сама процедура создания превью достаточно затратна в ресурсном плане и чем больше размер фото в кб, тем тяжелее хостингу.

Но создании превью происходит лишь при первом просмотре, далее система вытягивает уже генерированную картинку из папки thumbs.

В итоге, получаем 2 момента:

1. размер фото, которое будет ресайзиться желательно держать в диапазоне до 700-1000 кб. Хотя это все зависит от вашего конкретного случая, возможностей хостинга и количества таких фото которые одновременно ресайзятся.
2. для особо "проблемных" сайтов можно накастомить создание превью при сохранении или создании товара в админке (или любой другой страницы, которая содержит фото для ресайза)

P.S. так же как и Vladimir удивлен что makeThumbnailFull и makeThumbnail дают разный результат по времени обработки....  для чистоты эксперимента поэкспериментируйте еще раз. При этом, перед каждым экспериментом очищайте папку thumbs
Название: Re:system makeThumbnailFull не работает
Отправлено: niakriss от 14 Января 2013, 16:43:22
нашла где тормоз.. там в makeThumbnailFull есть такая штука в файле lib.php $isSharpen=true; если поставить false то все работает... я так поняла она отключает вот эту функцию makeThumbnailFullUnsharpMask
там она действительно очень ресурсоемкая... ну пришлось переписать немного макрос и добавить его в кастом.. и пользоваться кастомным...