Параметр png_compression_level должен быть целым числом от 0 до 9

Я использую Symfony 2.3.*, И я получил эту ошибку в своем app/logs/dev.log, когда использую LiipImagineBundle.

request.CRITICAL: Uncaught PHP Exception Imagine\Exception\InvalidArgumentException: "png_compression_level option should be an integer from 0 to 9" at /vendor/imagine/imagine/lib/Imagine/Gd/Image.php line 535 {"exception":"[object] (Imagine\\Exception\\InvalidArgumentException: png_compression_level option should be an integer from 0 to 9 at /vendor/imagine/imagine/lib/Imagine/Gd/Image.php:535)"} []

Любое решение? Спасибо

А вот и мой конфиг

liip_imagine:
    resolvers:
       default:
          web_path: ~
    filter_sets:
        cache: ~
        standard:
            quality: 200
            filters:
                thumbnail: { size: [400, 300], mode: outbound }

2 ответа

Решение

Я думаю, что это связано с качеством настройки.

В базовой комплектации Imagine она имеет..

// Preserve BC until version 1.0
    if (isset($options['quality']) 
        && !isset($options['png_compression_level'])) {
        $options['png_compression_level'] = 
            round((100 - $options['quality']) * 9 / 100);
    }

    // ...

    if ($format === 'png') {
        if (isset($options['png_compression_level'])) {
            if ($options['png_compression_level'] < 0 
                || $options['png_compression_level'] > 9) {
                throw new InvalidArgumentException(
                    'png_compression_level option should be an integer from 0 to 9'
                );
            }
            $args[] = $options['png_compression_level'];
        } else {
            $args[] = -1; // use default level
        }

        // ...
    }

Каковы ваши настройки фильтра?

Если вы используете SonataMediaBundle, проверьте, что quality не более 100.

Другие вопросы по тегам