I have php 8.1 via docker and avif functions not working.
Warning: imageavif(): avif error - Could not encode image: No codec available in /var/www/test.php on line 5
Dockerfile:
FROM php:8.1-fpm
RUN apt-get update && apt-get install -y \
git \
unzip \
libzip-dev \
libicu-dev \
libpng-dev \
libwebp-dev \
libfreetype6-dev \
libavif-dev \
libaom-dev \
libxpm-dev \
libjpeg62-turbo-dev
RUN docker-php-ext-install -j$(nproc) pdo_mysql mysqli bcmath sockets calendar gettext \
&& docker-php-ext-configure gd --with-freetype --with-webp --with-jpeg --with-avif --with-xpm \
&& docker-php-ext-install gd \
&& docker-php-ext-enable gd \
&& docker-php-ext-configure intl && docker-php-ext-install intl \
&& docker-php-ext-configure exif && docker-php-ext-install exif && docker-php-ext-enable exif \
&& pecl install xdebug-3.1.3 && docker-php-ext-enable xdebug
WORKDIR /var/www
PhpInfo: enter image description here enter image description here
My test.php:
<?php
ini_set('display_errors', 1);
var_dump(imageavif(imagecreatetruecolor(8, 8), "/tmp/test")); // true
var_dump(file_get_contents("/tmp/test")); // empty string
die();
Rewrote Dockerfile like this:
FROM php:8.1-fpm
ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/
RUN chmod +x /usr/local/bin/install-php-extensions && \
install-php-extensions gd