Kirby 3.6 webp not converted from jpg

I’m using the Standard kit with 3.6. On the album template, I expect that this code will generate a webp version of the jpg:

<?= $page->cover()->thumb(['width' => 300, 'format' => 'webp']) ?>

The src tells me it does:

http://kirby-beta:8888/media/pages/photography/trees/a15fa9c91c-1632403291/monster-trees-in-the-fog-300x.webp

But opening the file gives me the original file and size (933 x 1400) and in the media folder there is no webp file. What am I missing?

Using php 7.4.2

Are other non-webp thumbs created correctly? Which thumb driver are you using?

jpg thumbs are created correctly, using the default driver

Does the gd library running on your server support webp?

Local set up using mamp pro with php 7.4.2

GD Support enabled
GD Version bundled (2.1.0 compatible)

BTW: When using ImageMagick as the thumb driver:

    'thumbs' => [
        'driver' => 'im'
      ]

The webp images are being created correctly.

Just tested with my local Mamp Pro (PHP 7.4.12), and the webp version is generated correctly in Kirby 3.6.

Hm, while the PHP version is slightly different, I would expect this to work for you as well (to be 100% sure, check if phpinfo() confirms that webp is enabled.

As long as ImageMagick is also available on the server, I’d recommend using the im driver anyway.

So as it turns out 7.4.2 (with MAMP pro) doesn’t support webp per default, and I’m not sure how to enable that (yet).

MAMP Pro wants me to upgrade to be able to use anything up from 7.4.2. I have little need for all the bells and whistles so I installed php 7.4.23 (with homebrew) and everything is ok.

ImageMagick does a better job? In what way?

It’s more performant, I think, and probably delivers better results.

As @texnixe mentioned, ImageMagick is faster, and has more features - eg., the latest version already supports AVIF, while the latest GD still doesn’t. So, if you use ImageMagick you can probably also output your images as AVIF, as well as WebP.

I’m having this same issue on my server (not on localhost, where there is no issue).

PHP Version 8.0.15 is running on both my localhost and my server.

I am running ImageMagick as the thumb driver.

For an image served on my server, src tells me:

https://[...]/media/pages/[...]/ch-segbedzi-9-1200x.webp

But the actual file served is just the plain untouched jpeg from the relevant content/ folder.

Php info says that webp is enabled:

gd

GD Support enabled
GD headers Version 2.3.0
GD library Version 2.3.0
FreeType Support enabled
FreeType Linkage with freetype
GIF Read Support enabled
GIF Create Support enabled
JPEG Support enabled
PNG Support enabled
WBMP Support enabled
XPM Support enabled
XBM Support enabled
WebP Support enabled
BMP Support enabled
TGA Read Support enabled

Any leads on how I might fix this?

Solution: install imagemagick on server. Duh.