- Прямой эфир
- Инфо о авторе топика
- Michael
- Топики пользователя
- Вопросы
- Категории
- Подразделы блога
- Блоги
- Не работает phpthumb (решено)
- pthumb не ресайзит тв
- Комментарии: 5
- Работа с phpThumb
- Запуск phpThumb
- ImageMagick
- Настройки пакета
- Оглавление
- Общие
- Настройки сниппета pThumb
- Настройки сниппета phpThumbOf
- Настройки изображений
- Благодарность автору
- Как сделать хороший интернет-магазин.
- четверг, 1 августа 2013 г.
- Как побороть ошибку phpThumb в MODx [OutputThumbnail() failed because !is_resource($this->gdimg_output)]
Прямой эфир
umka 1 октября 2021, 13:42
Pathologic 22 сентября 2021, 10:34
RuSS_lan 15 сентября 2021, 12:15
levonty 12 сентября 2021, 16:05
digitz 2 сентября 2021, 15:32
marinau 31 августа 2021, 18:52
nohc 28 августа 2021, 20:02
tmih 27 августа 2021, 10:44
kymage 26 августа 2021, 15:04
Aharito 24 августа 2021, 04:05
Инфо о авторе топика
Michael
Топики пользователя
Вопросы
Категории
Подразделы блога
Блоги
- Готовые дополнения для MODX148
- В разработке47
- evoShop3
- Краундфандинг2
- Юмор10
- MODX Cloud8
- Социальная сеть12
- bid-cart24
- MODX custom by Dmi3yy51
- Интегрированные среды разработки (IDE)13
- Для модераторов13
- Оформления для frontend’a и backend’a41
- Быстрые решения104
- Проект MODX.im50
- Эксперименты и исследования59
- Документация и уроки63
- Форки MODX26
- Сайты на MODX47
- Tips & tricks90
- Новости71
- Безопасность83
- Обьявления о работе293
- Вопросы793
Не работает phpthumb (решено)
Может еще кто-то в курсе по работе phpthumb. Точнее он не работает.
Выводит только текст в формате assets/cache/images/foto. /150×76-. jpg (путь для краткости сократил).
Пытаюсь выводить в формате
При это тут же рядом для проверки TV параметра работает
Сам сниппет работает, создает в папке кэша миниатюру. если вставляю неправильный параметр в input, то ругается что no-image, но все равно выдает текстовую строку вместо картинки
И что еще интересно, на локалхосте нормально работает, залил на хостинг и там такая хрень.
MODX Evolution 1.2
На хостинге PHP 5.5. На локалхосте сначала был 5.3. Думал может поэтому. Сменил на локалхосте до такого же 5.5 — никакого результата.
ps: на хостинге тут же в соседних папках работают другие сайты MODX EVO 1.2 c phpthumb и в них все ок.
pps: подсказали что проблема была с .htacces в папке /assets/cache/images/.htaccess
Переименовал его и картинки начали отображаться!)
Источник
pthumb не ресайзит тв
Комментарии: 5
Картинка в чанке или в шаблоне? Если сниппетом вызвать, что покажет?
Ну и в логах ещё можно посмотреть, может с phpthumb глюк какой.
вызываю в чанке [[*image2:pthumb=`h=200&w=300&zc=1`]],
и ошибки:
[2018-03-05 14:55:53] (ERROR @ /home/httpd/vhosts/ru7lan.ru/httpdocs/core/components/phpthumbof/model/phpthumbof.class.php: 156) [pThumb] Resource: 46 || Image: (none)
File not found: /home/httpd/vhosts/ru7lan.ru/httpdocs/
[2018-03-05 14:55:53] (ERROR @ /home/httpd/vhosts/ru7lan.ru/httpdocs/core/components/phpthumbof/model/phpthumbof.class.php: 156) [pThumb] Resource: 46 || Image: (none)
File not found: /home/httpd/vhosts/ru7lan.ru/httpdocs/
и если сниппетом [[pthumb? &input=`[[*image2]]` &options=`h=200&w=300&zc=1`]] тоже самое- выводится но не орезаетс
Источник
Работа с phpThumb
Не многие задумывались, что вместе с MODX Revolution поставляется и phpThumb. Это, фактически, единственная и самая крутая библиотека для работы с изображениями на PHP.
В MODX принято работать с ней через сниппет phpThumbOf, однако у него есть существенные недостатки, например серьёзные тормоза и странное кэширование. Поэтому, верным способом будет работа с библиотекой напрямую.
При разработке «Файлохранилища» мне пришлось покопаться в том, как устроен phpThumb и как он интегрирован в MODX, в результате чего появился универсальный рецепт использования этой библиотеки для генерации изображений.
Заодно решил известную проблему с генерацией уменьшенной копии, с обрезкой из левой верхней части картинки.
Запуск phpThumb
Предлагаю универсальный скрипт, который может запускаться как снаружи MODX, так и в качестве сниппета.
Этот скрипт прекрасно работает, обрезает и уменьшает изображения за исключением одного момента — обрезка идёт всегда по центру рисунка. Причем, зависит это не от phpThumb, а от сервера.
ImageMagick
phpThumb сам не умеет конвертировать изображения, он запускает один из модулей PHP: phpGD2 или ImageMagick.
Первый есть на всех хостингах и ничего не требует, но обладает меньшими возможностями. Второй же, как правило, нужно ставить самостоятельно, да еще и создавать ему условия, ибо он запускается через консоль.
Та самая обрезка с левого верхнего угла, которую я хотел сделать, работает только с ImageMagick. Также, только с ним поддерживается прозрачный фон png. Да и вообще, он вроде качественнее конвертирует.
Устанавливаем его на сервер, настроенный по этой заметке:
Перезапускаем php5-fpm:
Смотрим в phpinfo(), что ImageMagick подключен.
Проверяем работу скрипта и ничего не меняется!
А дело в том, что на моём сервере (и многих других) отключены функции exec, system, shell_exec и passthru, через которые phpThumb пытается выяснить версию установленного ImageMagick, а потом и запустить его на конвертацию.
Понять это можно, если поглядеть в лог работы:
ImageMagickThumbnailToGD() aborting выглядит нехорошо, правда?
Поэтому, как бы не хотелось, но нужно включить одну из этих опасных функций, чтобы ImageMagick начал работать. Хорошо, что хоть open_basedir отключать не требуется.
Результат работы phpThumb с параметром zc = TL:
Модуль phpGD2 Модуль ImageMagick
Не забывайте, что всегда можно проверить, какой способ используется в логе $phpThumb->debugmessages.
Источник
Настройки пакета
Настройки пакета pThumb
Оглавление
pThumb имеет следующие системные настройки:
Общие
| Название | Ключ | Описание |
| Override Cache URL | phpthumbof.cache_url | Абсолютный URL, который будет добавлен при создания изображений. Данная настройка особенно полезна если вы работаете с контекстами или поддоменами. |
| Check file modification time | phpthumbof.check_mod_time | Проверяет время изменения файла исходного изображения и, при необходимости, обновляет кэшированную версию. Изменение значения этого параметра приведет к тому, что все кэшированные в данный момент изображения станут устаревшими. |
| Cache Cleaning Level | pthumb.clean_level | Указывает, что плагин кэша должен делать при событиях обновления сайта (очистки кэша сайта). Плагин обрабатывает все 3 кэша: phpThumbOf, pThumb и удаленных изображений. Возможные значения0 — Включен по умолчанию. Ничего не делать.
|
#
Настройки сниппета pThumb
С версии 2.1 добавлены настройки pThumb Cache. Они позволяют формировать более чистые, более семантические и SEO-дружественные URL-адреса миниатюр. Новая система кэширования сохраняет миниатюры в подкаталогах, которые отражают часть пути исходного изображения, и добавляет только 8-символьный хэш к именам файлов. Вы можете создать каталог, в который будут помещаться кэшированные изображения через настройки ниже:
| Название | Ключ | Описание |
| Images Base Directory | pthumb.ptcache_images_basedir | Каталог с вашими изображениями. По умолчанию это assets/ , но если вы хотите изменить расположение ваших изображений, укажите папку в этой настройке. Этот каталог и любые другие над ним будут исключены из пути кеша. Любые подкаталоги под ним будут включены. |
| pThumb Cache Location | pthumb.ptcache_location | Каталог для хранения кэшированных изображений. Путь указывается относительно базового каталога MODx, который обычно является корнем вашего сайта. По умолчанию установлен путь assets/image-cache . Создавать каталоги вручную необязательно, pThumb создаст этот каталог сам, если он еще не существует и если позволяют разрешения файловой системы. |
| Use pThumb Cache | pthumb.use_ptcache | После того как вы изменили две вышеуказанные настройки, переключите эту настройку на значение «Да», чтобы применить новые настройки кэша. |
#
Настройки сниппета phpThumbOf
Настройки ниже относются только к сниппету phpthumbof
| Название | Ключ | Описание |
| Override Cache Path | phpthumbof.cache_path | Вы можете указать здесь абсолютный путь, для переопределения пути кешированных изображений. |
| Post-fix Properties Hash to Name | phpthumbof.postfix_property_hash | Если включить, будет добавлять хэш к названию файлов. |
#
Настройки изображений
pThumb поставляется в комплекте с Resizer, легкой и современной альтернативой phpThumb. Resizer основан на Imagine и поддерживает расширения Gmagick, Imagick и GD. Для операций по изменению размера и кадрированию изображений он значительно быстрее, чем phpThumb. Плюс все опции ZC теперь работают с GD.
См. Документацию Resizer для более подробной информации о его требованиях и поддерживаемых опциях. Обратите внимание, что он не поддерживает ни один из фильтров phpThumb, но многие из этих вещей в настоящее время могут быть выполнены с помощью CSS.
| Название | Ключ | Описание |
| Use Resizer | phpthumbof.use_resizer | Глобальный параметр, для которого используется класс манипулирования изображениями. Установка значения «Нет» означает, что pThumb будет использовать встроенный в MODx класс phpThumb. По умолчанию: нет. |
| Global Default Options | pthumb.global_defaults | Строка с параметрами для ресайза изображений с помощью класса Resizer. Например q=60&za=C . |
Благодарность автору
Если по какой-либо причине вы хотите поблагодарить автора данного ресурса, вы можете это сделать одним из удобных для вас способов ниже.
Один из самых популярных способов поблагодарить автора, воспользоваться сервисом Яндекс.Деньги.
Источник
Как сделать хороший интернет-магазин.
В этом блоге я собираю информацию о том, как создать и улучшить интернет-магазин. Но, помимо интернет коммерции, часто затрагиваю и другие темы.
четверг, 1 августа 2013 г.
Как побороть ошибку phpThumb в MODx [OutputThumbnail() failed because !is_resource($this->gdimg_output)]
[2013-08-01 00:02:25] (ERROR @ /connectors/system/phpthumb.php) phpThumb was unable to generate a thumbnail for: /var/www/core/cache/phpthumb/phpThumb_cache_site.ru_srcdc8485f6e9b68beb8824f8f795acc2e7_par02a1b054e8467fb1e234c8a8fd8d10d2_dat1375288827.png
[2013-08-01 00:02:25] (ERROR @ /connectors/system/phpthumb.php) Error outputting thumbnail:
OutputThumbnail() failed because !is_resource($this->gdimg_output) in file «phpthumb.class.php» on line 557
В сообществе MODx предлагается несколько способов борьбы с этим (сразу скажу, они мне не помогли и я нашел своё решение) :
- Разрешить использование файлов, расположенных НЕ в корневой директории. Для этого идём в настройки и ищем ключ «setting_phpthumb_allow_src_above_docroot«, устанавливаем его в True ( Да ).
В этом варианте, нужно проверить правильно ли у вас установлены права на папку core/cache/phpthumb, если директории phpthumb нету вообще, значит установлены маленькие права на папку cache.
Самое простое, на короткое время тестирования, установить на все три директории (core / cache / phpthumb) полные права — 0777. Это позволит вам сразу понять есть ли проблема в правах на директории. 0777 это максимальные права, устанавливать их на долгое время настоятельно не рекомендуется . Если phpThumb заработает, то начните уменьшать права на папки по очереди (сначала на core, потом на cache) и найдите то сочетание прав, при которых phpThumb продолжает работать.
Источник