diff --git a/wp-docker/Dockerfile b/wp-docker/Dockerfile index 09559edac718f5656969a2e2ca004d9f2fe27472..1af3206cf009d4b75fb8689a50586617d03a5558 100644 --- a/wp-docker/Dockerfile +++ b/wp-docker/Dockerfile @@ -1,4 +1,4 @@ -FROM php:7.3.31-apache-bullseye +FROM php:8.0.11-apache-bullseye COPY install-php-extensions.sh . RUN chmod +x install-php-extensions.sh diff --git a/wp-docker/install-php-extensions.sh b/wp-docker/install-php-extensions.sh index 0d76de8c4cb04a2403b47f8dd9f835c1012c657d..8b71dc0aa8c8b96673b201e344c51368386cedad 100644 --- a/wp-docker/install-php-extensions.sh +++ b/wp-docker/install-php-extensions.sh @@ -2,18 +2,33 @@ # install the PHP extensions (from the WP Dockerfile) set -ex; - savedAptMark="$(apt-mark showmanual)"; apt-get update; apt-get install -y --no-install-recommends \ + libfreetype6-dev \ libjpeg-dev \ + libmagickwand-dev \ libpng-dev \ - libzip-dev \ -; + libwebp-dev \ + libzip-dev; -docker-php-ext-configure gd --with-png-dir=/usr --with-jpeg-dir=/usr; -docker-php-ext-install gd mysqli opcache zip; +docker-php-ext-configure gd \ + --with-freetype \ + --with-jpeg \ + --with-webp \ +; +docker-php-ext-install -j "$(nproc)" \ + bcmath \ + exif \ + gd \ + mysqli \ + zip \ +; +# https://pecl.php.net/package/imagick +pecl install imagick-3.5.0; +docker-php-ext-enable imagick; +rm -r /tmp/pear; # reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies apt-mark auto '.*' > /dev/null; @@ -24,7 +39,7 @@ ldd "$(php -r 'echo ini_get("extension_dir");')"/*.so \ | xargs -r dpkg-query -S \ | cut -d: -f1 \ | sort -u \ - | xargs -rt apt-mark manual; \ + | xargs -rt apt-mark manual; apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; rm -rf /var/lib/apt/lists/*