Из-за чего может не генерироваться webp (pthumb) в MODX 2.8.1?
Доброго времени суток!
Подскажите плиз что я ещё забыл настроить. Есть сайт (MODX 2.8.1, php 7.2, gd и imagick включены), пытаюсь вывести с помощью pthumb изображение в формате webp, но выводит обработанное изображение с расширением исходного файла. Проверял на другом сайте генерацию webp — там работает, окружение то же. Изображение вывожу с помощью {$img | pthumb: 'w=100&h=75&far=C&f=webp'} Подскажите, пожалуйста, в чём может быть проблема?
В логах пишет такое:
Подскажите плиз что я ещё забыл настроить. Есть сайт (MODX 2.8.1, php 7.2, gd и imagick включены), пытаюсь вывести с помощью pthumb изображение в формате webp, но выводит обработанное изображение с расширением исходного файла. Проверял на другом сайте генерацию webp — там работает, окружение то же. Изображение вывожу с помощью {$img | pthumb: 'w=100&h=75&far=C&f=webp'} Подскажите, пожалуйста, в чём может быть проблема?
В логах пишет такое:
[2020-11-17 16:07:37] (ERROR @ /home/***/***.netangels.ru/www/core/components/phpthumbof/model/phpthumbof.class.php : 156) [pThumb] Resource: 1 || Image: /home/***/***.netangels.ru/www/assets/app/img/logo.png
Could not cache thumbnail to file at: /home/***/***.netangels.ru/www/assets/components/phpthumbof/cache/logo.6846ef23958b32730261930d4d2c7af6.webp
phpThumb debug output:
[0] => phpThumb() v1.7.15-202004301145 in file "phpthumb.class.php" on line 233
[1] => setSourceFilename(/home/***/***.netangels.ru/www/assets/app/img/logo.png) set $this->sourceFilename to "/home/***/***.netangels.ru/www/assets/app/img/logo.png" in file "phpthumb.class.php" on line 298
[2] => Addding ImageMagick formats to $AvailableImageOutputFormats (text;ico;bmp;wbmp;gif;png;jpeg) in file "phpthumb.class.php" on line 1003
[3] => $AvailableImageOutputFormats = array(text;ico;bmp;wbmp;gif;png;jpeg;webp) in file "phpthumb.class.php" on line 1009
[4] => $this->thumbnailFormat set to $this->config_output_format "jpeg" in file "phpthumb.class.php" on line 1020
[5] => $this->thumbnailFormat set to $this->f "webp" in file "phpthumb.class.php" on line 1027
[6] => $this->thumbnailQuality set to "75" in file "phpthumb.class.php" on line 1037
[7] => resolvePath: /home/***/***.netangels.ru/www/assets/app/img/logo.png (allowed_dirs: Array
(
)
) in file "phpthumb.class.php" on line 1180
[8] => resolvePath: iteration, path=/home/***/***.netangels.ru/www/assets/app/img/logo.png, base path = /home/***/***.netangels.ru/www in file "phpthumb.class.php" on line 1199
[9] => open_basedir: "" in file "phpthumb.class.php" on line 1166
[10] => resolvePath: stop at component 9 in file "phpthumb.class.php" on line 1215
[11] => resolvePath: stop at path=/home/***/***.netangels.ru/www/assets/app/img/logo.png in file "phpthumb.class.php" on line 1218
[12] => resolvePath: path parsed, over in file "phpthumb.class.php" on line 1224
[13] => $this->sourceFilename set to "/home/***/***.netangels.ru/www/assets/app/img/logo.png" in file "phpthumb.class.php" on line 930
[14] => SetCacheFilename() _src set from md5($this->sourceFilename) "/home/***/***.netangels.ru/www/assets/app/img/logo.png" = "b94f6b10bb8db369ecb90296efd54a68" in file "phpthumb.class.php" on line 3591
[15] => SetCacheFilename() _par set from md5(_farC_h27_w175_dpi150) in file "phpthumb.class.php" on line 3624
[16] => starting ExtractEXIFgetImageSize() in file "phpthumb.class.php" on line 3389
[17] => getimagesize(/home/***/***.netangels.ru/www/assets/app/img/logo.png) says image is 205x32 in file "phpthumb.class.php" on line 3399
[18] => $this->useRawIMoutput=true after checking $UnAllowedParameters in file "phpthumb.class.php" on line 1635
[19] => phpThumb_tempnam() returning "/tmp/pThumbQWjxM6" in file "phpthumb.class.php" on line 4426
[20] => ImageMagickSwitchAvailable(thumbnail) = 1 in file "phpthumb.class.php" on line 1571
[21] => getimagesize(/home/***/***.netangels.ru/www/assets/app/img/logo.png) SUCCEEDED: Array
(
[0] => 205
[1] => 32
[2] => 3
[3] => width="205" height="32"
[bits] => 8
[mime] => image/png
)
in file "phpthumb.class.php" on line 1730
[22] => ImageMagickSwitchAvailable(density) = 1 in file "phpthumb.class.php" on line 1571
[23] => getimagesize(/home/***/***.netangels.ru/www/assets/app/img/logo.png) returned [w=205;h=32;f=3] in file "phpthumb.class.php" on line 1745
[24] => source dimensions set to 205x32 in file "phpthumb.class.php" on line 1748
[25] => SetOrientationDependantWidthHeight() starting with "205"x"32" in file "phpthumb.class.php" on line 3368
[26] => SetOrientationDependantWidthHeight() setting w="175", h="27" in file "phpthumb.class.php" on line 3384
[27] => Remaining $this->fltr after ImageMagick: (array(0) { } ) in file "phpthumb.class.php" on line 2296
[28] => ImageMagick called as (convert '/home/***/***.netangels.ru/www/assets/app/img/logo.png[0]' -background none -thumbnail '175x27' -gravity center -background none -extent '175x27' webp:'/tmp/pThumbQWjxM6' 2>&1) in file "phpthumb.class.php" on line 2314
[29] => ImageMagick failed with message (convert.im6: unable to open image `webp:/tmp/pThumbQWjxM6': Нет такого файла или каталога @ error/blob.c/OpenBlob/2641.
convert.im6: WriteBlob Failed `webp:/tmp/pThumbQWjxM6' @ error/png.c/MagickPNGErrorHandler/1728.) in file "phpthumb.class.php" on line 2319
[30] => deleting "/tmp/pThumbQWjxM6" in file "phpthumb.class.php" on line 2351
[31] => ImageMagickThumbnailToGD() failed in file "phpthumb.class.php" on line 3435
[32] => SetOrientationDependantWidthHeight() starting with "205"x"32" in file "phpthumb.class.php" on line 3368
[33] => SetOrientationDependantWidthHeight() setting w="175", h="27" in file "phpthumb.class.php" on line 3384
[34] => EXIF thumbnail extraction: (size=0; type=""; 0x0) in file "phpthumb.class.php" on line 3492
[35] => starting SourceImageToGD() in file "phpthumb.class.php" on line 3750
[36] => starting ImageCreateFromFilename(/home/***/***.netangels.ru/www/assets/app/img/logo.png) in file "phpthumb.class.php" on line 3665
[37] => ImageCreateFromFilename found ($getimagesizeinfo[2]==3) in file "phpthumb.class.php" on line 3674
[38] => Calling imagecreatefrompng(/home/***/***.netangels.ru/www/assets/app/img/logo.png) in file "phpthumb.class.php" on line 3682
[39] => Not using EXIF thumbnail data because $this->gdimg_source is already set in file "phpthumb.class.php" on line 3818
[40] => CalculateThumbnailDimensions() starting with [W,H,sx,sy,sw,sh] initially set to [205,32,,,,] in file "phpthumb.class.php" on line 3240
[41] => CalculateThumbnailDimensions() starting with [x,y,w,h] initially set to [0,0,205,32] in file "phpthumb.class.php" on line 3255
[42] => CreateGDoutput() returning canvas "175x27" in file "phpthumb.class.php" on line 3363
[43] => ImageResizeFunction($o, $s, 1, 0, 0, 0, 173, 27, 205, 32) in file "phpthumb.class.php" on line 4401
[44] => memory_get_usage() after copy-resize = 2337360 in file "phpthumb.class.php" on line 430
[45] => memory_get_usage() after imagedestroy = 2300352 in file "phpthumb.class.php" on line 432
[46] => AntiOffsiteLinking() says this is allowed in file "phpthumb.class.php" on line 2558
[47] => skipping AlphaChannelFlatten() because ($this->thumbnailFormat == "webp") in file "phpthumb.class.php" on line 2622
[48] => GenerateThumbnail() completed successfully in file "phpthumb.class.php" on line 444
[49] => imageinterlace($this->gdimg_output, 1) in file "phpthumb.class.php" on line 480
[50] => RenderOutput() attempting imagewebp($this->gdimg_output) in file "phpthumb.class.php" on line 483
[51] => GD does not have required built-in support for WebP output in file "phpthumb.class.php" on line 549
[52] => RenderOutput [webp(/home/***/***.netangels.ru/www/assets/components/phpthumbof/cache/logo.6846ef23958b32730261930d4d2c7af6.webp)] failed in file "phpthumb.class.php" on line 633
----------------------
В 29 строке пишет, что не может найти файл. Убираю f=webp — начинает генерить превьюшку, ошибок в журнале нет.Комментарии: 5
[51] => GD does not have required built-in support for WebP output in file «phpthumb.class.php» on line 549нужно php минимум 7.1.0 (https://github.com/JamesHeinrich/phpThumb/issues/107#issuecomment-492827866)
у меня в рабочем конфиге gd 2.3.0
php версии 7.2, gd на обоих сайтах 2.1.0, но на одном работает норм, на втором не хочет(
а насколько одинаковое окружение на сайтах? прям работают из под одного аккаунта?
проверьте права доступа
про gd я невнимательно написал, у вас тут imagemagick работает. а на другом проекте?
возможно версия без поддержки webp тоже, попробуйте обновить
посмотреть можно тут
проверьте права доступа
про gd я невнимательно написал, у вас тут imagemagick работает. а на другом проекте?
возможно версия без поддержки webp тоже, попробуйте обновить
посмотреть можно тут
convert -list delegate
и там что-то типа png<= webp "cwebp' -quiet %Q '%i' -o '%o"
оказалось дело в устаревшем тарифе на хостинге. Текущий тариф просто не поддерживал webp. Необходимо на другой тариф переключаться. Тот сайт, на котором работает как раз на том тарифе с поддержкой webp
увидел, что в php_info в разделе GD нет строки «WebP Support enabled». Видимо в этом и проблема, пошел терроризировать хостера.
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.