# Cropped images not generated on local server (Herd)

**URL:** <https://forum.getkirby.com/t/cropped-images-not-generated-on-local-server-herd/34715>\
**Category:** Questions\
**Tags:** v5\
**Created:** [September 15, 2025, 8:19am UTC](https://forum.getkirby.com/t/cropped-images-not-generated-on-local-server-herd/34715 "2025-09-15T08:19:10Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![esbenrahbek](https://avatars.discourse-cdn.com/v4/letter/e/41988e/32.png) [@esbenrahbek](https://forum.getkirby.com/u/esbenrahbek)\
**Post date:** [September 15, 2025, 8:19am UTC](https://forum.getkirby.com/t/cropped-images-not-generated-on-local-server-herd/34715/1 "2025-09-15T08:19:10Z")

</div>

Dear forum

## Background

I am following Bastian’s tutorial on building a Kirby site on YouTube, but I’ve come stuck when he shows how to crop images: [https://youtu.be/op5iP71Bg6w?feature=shared&t=653](https://youtu.be/op5iP71Bg6w?feature=shared&t=653)

PHP Version =\> 8.4.12

Kirby Version 5.0.4 with plain kit

## Error

The images shows just fine when I just use `<?= $item->image() ?>` but with the crop added `<?= $item->image()->crop(400) ?>`, they are “not found” / not generated in the media folder.

**My current home.php, where I want to show the pages/images**

```php
<?php snippet('header') ?>
    
    <main class="main">
        <h1><?= $page->title() ?></h1>
        <?= $page->text() ?>

        <ul>
            <?php foreach ($page->children()->listed() as $item): ?>
                <li>
                    <a href="<?= $item->url() ?>">
                        <figure>
                            
                            <?= $item->image()->crop(400) ?>
                            
                            <figcaption><?= $item->title() ?></figcaption>
                        </figure>
                    </a>
                </li>
            <?php endforeach ?>
        </ul>
        
    </main>

<?php snippet('footer') ?>

```

**Bastian’s code**

 ![2025-09-15_12_Firefox_How to build a project grid - YouTube@2x](https://europe1.discourse-cdn.com/flex017/uploads/getkirby/original/3X/a/e/aed1f9a0b09b5d6a12d2280999b5b0ad06fe2d9c.jpeg)

The only exception is that I am not naming it projects but items instead, and placing it on /home.

**Preview of my site**

 ![2025-09-15_57_Firefox_Rahbek's Danish Design Collection@2x](https://europe1.discourse-cdn.com/flex017/uploads/getkirby/original/3X/1/5/1540239496489aa802491615fad78de025612eaf.png)

Hovering the src url says “Could not load the image”

* * *

## Attempted solutions

**Check that gd is installed**

Herd lists gd as installed per default: [PHP Extensions - Laravel Herd](https://herd.laravel.com/docs/macos/technology/php-extensions)

`php -i` gives me the following result on the local server as well:

```shell
gd

GD Support => enabled
GD Version => bundled (2.1.0 compatible)
FreeType Support => enabled
FreeType Linkage => with freetype
FreeType Version => 2.13.2
GIF Read Support => enabled
GIF Create Support => enabled
JPEG Support => enabled
libJPEG Version => 6b
PNG Support => enabled
libPNG Version => 1.6.51.git
WBMP Support => enabled
XBM Support => enabled
WebP Support => enabled
BMP Support => enabled
TGA Read Support => enabled

Directive => Local Value => Master Value
gd.jpeg_ignore_warning => On => On

```

**Check read/write access to media folder**

Kirby is able to create new folders in /media. For this particular issue I’ve found a .json file for each attempted crop image:

media/pages/home/100arsensomhed/ce001b2f58-1757739217/.jobs/2025-07-31\_100rsensomhed-cover\_result-400x-crop.jpg.json

```auto
{"width":400,"height":null,"quality":null,"crop":"center","filename":"2025-07-31_100rsensomhed-cover_result.jpg"}

```

**Install imagemagick**

Installed on my local machine through Homebrew. `convert -v` returns `Version: ImageMagick 7.1.2-3 Q16-HDRI aarch64 23340 ``https://imagemagick.org`

**Enabled Kirby debugger**

It shows nothing.

**Checked Herd log**

Not much here, except a seemingly unrelated error:

```shell
2025/09/15 08:54:21 [error] 41960#2249304: *189 FastCGI sent in stderr: "PHP message: Whoops\Exception\ErrorException: Function finfo_close() is deprecated since 8.5, as finfo objects are freed automatically in /Users/emr/Documents/Sites/kirby/rdgdc/kirby/src/Filesystem/Mime.php:191
Stack trace:
#0 /Users/emr/Documents/Sites/kirby/rdgdc/kirby/src/Filesystem/Mime.php(191): Whoops\Run->handleError(8192, 'Function finfo_...', '/Users/emr/Docu...', 191)
#1 /Users/emr/Documents/Sites/kirby/rdgdc/kirby/src/Filesystem/Mime.php(324): Kirby\Filesystem\Mime::fromFileInfo('/Users/emr/Docu...')
#2 /Users/emr/Documents/Sites/kirby/rdgdc/kirby/src/Filesystem/File.php(358): Kirby\Filesystem\Mime::type('/Users/emr/Docu...')
#3 /Users/emr/Documents/Sites/kirby/rdgdc/kirby/src/Image/Image.php(80): Kirby\Filesystem\File->mime()
#4 /Users/emr/Documents/Sites/kirby/rdgdc/kirby/src/Image/Image.php(231): Kirby\Image\Image->dimensions()
#5 /Users/emr/Documents/Sites/kirby/rdgdc/kirby/src/Image/Darkroom.php(116): Kirby\Image\Image->width()
#6 /Users/emr/Documents/Sites/kirby/rdgdc/kirby/config" while reading response header from upstream, client: 127.0.0.1, server: rdgdc.test, request: "GET /media/pages/home/test1/aa9e817b07-1757595135/13cb3fba7aa39f94e4c489c0d7513bf7-400x-crop.jpg HTTP/1.1", upstream: "fastcgi://unix:/Users/emr/Library/Application Support/Herd/herd85.sock:", host: "rdgdc.test", referrer: "http://rdgdc.test/?herd=preview"

```

**Disabling stylesheets**

I don’t have any styles applied, only a small css reset that I’ve disabled.

**Changing php version**

Changing to php 8.5 in Herd makes no difference.

**Images from another source**

I tried placing smaller images from other sources, but it makes no difference either. Still .jpg though.

**Testing with starter kit**

The same images load fine as cropped when running another site with the starter kit.

**Converting source images**

Attempted to resize source images manually before placing in content folder. Also attempted converting from jpg to webp.

* * *

Since I’m quite inexperienced, my guess is that the error is quite simple and related to the php code–but I’ve double checked that my code matches Bastian’s example, so now I need a tiny bit of help.

---

<div class="post-metadata">

**Author:** ![esbenrahbek](https://avatars.discourse-cdn.com/v4/letter/e/41988e/32.png) [@esbenrahbek](https://forum.getkirby.com/u/esbenrahbek)\
**Post date:** [September 15, 2025, 12:11pm UTC](https://forum.getkirby.com/t/cropped-images-not-generated-on-local-server-herd/34715/2 "2025-09-15T12:11:08Z")

</div>

Ahhhh… it turns out that the change from php version 8.5 to 8.4 (I started on 8.5) was not a global setting, but a local setting, in Herd.

After changing from 8.5 to 8.4 it works.

Sorry for the inconvenience.
