From b724ceaca304477dfe27e1a32b499303f254a784 Mon Sep 17 00:00:00 2001 From: cytopia Date: Thu, 8 Dec 2022 12:35:10 +0100 Subject: [PATCH] Temporarily enable only required PHP extensions for faster builds --- .ansible/group_vars/all/mods.yml | 522 ++++++++++++++++++++++++++++++- Dockerfiles/mods/Dockerfile-5.2 | 158 +++++++++- Dockerfiles/mods/Dockerfile-5.3 | 183 ++++++++++- Dockerfiles/mods/Dockerfile-5.4 | 183 ++++++++++- Dockerfiles/mods/Dockerfile-5.5 | 226 ++++++++++++- Dockerfiles/mods/Dockerfile-5.6 | 221 ++++++++++++- Dockerfiles/mods/Dockerfile-7.0 | 289 ++++++++++++++++- Dockerfiles/mods/Dockerfile-7.1 | 298 +++++++++++++++++- Dockerfiles/mods/Dockerfile-7.2 | 298 +++++++++++++++++- Dockerfiles/mods/Dockerfile-7.3 | 291 ++++++++++++++++- Dockerfiles/mods/Dockerfile-7.4 | 291 ++++++++++++++++- Dockerfiles/mods/Dockerfile-8.0 | 303 +++++++++++++++++- Dockerfiles/mods/Dockerfile-8.1 | 305 +++++++++++++++++- Dockerfiles/mods/Dockerfile-8.2 | 316 ++++++++++++++++++- 14 files changed, 3855 insertions(+), 29 deletions(-) diff --git a/.ansible/group_vars/all/mods.yml b/.ansible/group_vars/all/mods.yml index 01fb1e2..51f0813 100644 --- a/.ansible/group_vars/all/mods.yml +++ b/.ansible/group_vars/all/mods.yml @@ -4,11 +4,527 @@ # The following specifies the order in which modules are being built. extensions_enabled: - - hash + - bcmath + - enchant + - mbstring + - exif + - gd + - imagick + - igbinary + - msgpack + - memcached + - mongodb + - mysqli + - pgsql + - apcu + - lz4 + - lzf + - zstd + - redis # The following specifies how modules are being built. extensions_available: - hash: + bcmath: disabled: [] - already_avail: "{{ php_all_versions }}" + all: + type: builtin + enchant: + disabled: [7.3, 7.4] + all: + type: builtin + build_dep: [libenchant-2-dev] + run_dep: [libenchant-2-2] + 7.2: + build_dep: [libenchant-dev] + run_dep: [libenchant1c2a] + 7.1: + build_dep: [libenchant-dev] + run_dep: [libenchant1c2a] + 7.0: + build_dep: [libenchant-dev] + run_dep: [libenchant1c2a] + 5.6: + build_dep: [libenchant-dev] + run_dep: [libenchant1c2a] + 5.5: + build_dep: [libenchant-dev] + run_dep: [libenchant1c2a] + 5.4: + build_dep: [libenchant-dev] + run_dep: [libenchant1c2a] + 5.3: + build_dep: [libenchant-dev] + run_dep: [libenchant1c2a] + 5.2: + type: pecl + command: echo "/usr" | pecl install enchant + build_dep: [libenchant-dev] + run_dep: [libenchant1c2a] + mbstring: + disabled: [] + already_avail: "{{ php_all_versions }}" # Available by default + exif: + disabled: [] + all: + type: builtin + gd: + disabled: [] + all: + type: builtin + pre: ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ + configure: --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf + build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev] + run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx6, libfreetype6, libwebp6] + 8.2: + type: builtin + configure: --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --with-avif + build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev, libavif-dev] + run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx6, libfreetype6, libwebp6, libavif9] + 8.1: + type: builtin + configure: --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --with-avif + build_dep: [libpng-dev, libjpeg-dev, libxpm-dev, libvpx-dev, zlib1g-dev, libfreetype6-dev, libwebp-dev, libavif-dev] + run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx6, libfreetype6, libwebp6, libavif9] + 8.0: + type: builtin + configure: --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype + 7.4: + type: builtin + configure: --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype + 7.3: + type: builtin + configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr + 7.2: + type: builtin + configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr + run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx5, libfreetype6, libwebp6] + 7.1: + type: builtin + configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf + run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx5, libfreetype6, libwebp6] + 7.0: + type: builtin + configure: --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf + run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6] + 5.6: + type: builtin + pre: ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ + configure: --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf + run_dep: [libpng16-16, libjpeg62-turbo, libxpm4, libvpx4, libfreetype6, libwebp6] + 5.5: + type: builtin + pre: | + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libjpeg.* /usr/lib/ && \ + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libpng.* /usr/lib/ && \ + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ && \ + mkdir /usr/include/freetype2/freetype && \ + ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \ + configure: --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf + run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6, libwebp5] + 5.4: + type: builtin + pre: | + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libjpeg.* /usr/lib/ && \ + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libpng.* /usr/lib/ && \ + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ && \ + mkdir /usr/include/freetype2/freetype && \ + ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \ + configure: --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf + run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6, libwebp5] + 5.3: + type: builtin + pre: | + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libjpeg.* /usr/lib/ && \ + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libpng.* /usr/lib/ && \ + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ && \ + mkdir /usr/include/freetype2/freetype && \ + ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \ + configure: --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf + run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6, libwebp5] + 5.2: + type: builtin + pre: | + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libjpeg.* /usr/lib/ && \ + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libpng.* /usr/lib/ && \ + ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ && \ + mkdir /usr/include/freetype2/freetype && \ + ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \ + configure: --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf + run_dep: [libpng12-0, libjpeg62-turbo, libxpm4, libvpx1, libfreetype6, libwebp5] + imagick: + disabled: [5.2, 5.3, 5.4] + all: + type: pecl + build_dep: [libmagickwand-dev, libwebp-dev, ghostscript] + run_dep: [libmagickwand-6.q16-6, libwebp6, ghostscript] + # https://bugs.php.net/bug.php?id=77683 + # https://github.com/Imagick/imagick/issues/262 (policy prevents PDF from being read) + post: | + sed -i'' 's|.*"thread".*| |g' /etc/ImageMagick-6/policy.xml \ + && sed -i'' 's|.*> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi +# -------------------- Installing PHP Extension: bcmath -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ + && true + + +# -------------------- Installing PHP Extension: enchant -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Custom: Pecl command + && echo "/usr" | pecl install enchant \ + # Enabling + && docker-php-ext-enable enchant \ + && true + + +# -------------------- Installing PHP Extension: exif -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ + && true + + +# -------------------- Installing PHP Extension: gd -------------------- +RUN set -eux \ + # Version specific pre-command + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libjpeg.* /usr/lib/ && \ +ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libpng.* /usr/lib/ && \ +ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ && \ +mkdir /usr/include/freetype2/freetype && \ +ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \ + \ + # Installation: Version specific + # Type: Built-in extension + # Custom: configure command + && docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf \ + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ + && true + + +# -------------------- Installing PHP Extension: igbinary -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install igbinary-2.0.7 \ + # Enabling + && docker-php-ext-enable igbinary \ + && true + + +# -------------------- Installing PHP Extension: msgpack -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install msgpack-0.5.7 \ + # Enabling + && docker-php-ext-enable msgpack \ + && true + + +# -------------------- Installing PHP Extension: memcached -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install memcached-2.1.0 \ + # Enabling + && docker-php-ext-enable memcached \ + && true + + +# -------------------- Installing PHP Extension: mysqli -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: Built-in extension + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \ + && true + + +# -------------------- Installing PHP Extension: pgsql -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \ + && true + + +# -------------------- Installing PHP Extension: redis -------------------- +RUN set -eux \ + # Generic pre-command + && if [ -f /usr/include/liblzf/lzf.h ]; then \ + ln -s /usr/include/liblzf/lzf.h /usr/include/; \ +fi \ + \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install redis-2.2.7 \ + # Enabling + && docker-php-ext-enable redis \ + && true + + # Fix php.ini settings for enabled extensions @@ -95,6 +218,17 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.2-mods" RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ + libenchant1c2a \ + libevent-2.0-5 \ + libfreetype6 \ + libjpeg62-turbo \ + libmemcachedutil2 \ + libmysqlclient18 \ + libpng12-0 \ + libpq5 \ + libvpx1 \ + libwebp5 \ + libxpm4 \ ca-certificates \ && rm -rf /var/lib/apt/lists/* \ \ @@ -134,8 +268,28 @@ RUN set -eux \ && if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \ && rm -f /usr/local/etc/php/php.ini \ \ - && php -m | grep -oiE '^hash$' \ - && php-fpm -m | grep -oiE '^hash$' \ + && php -m | grep -oiE '^bcmath$' \ + && php-fpm -m | grep -oiE '^bcmath$' \ + && php -m | grep -oiE '^enchant$' \ + && php-fpm -m | grep -oiE '^enchant$' \ + && php -m | grep -oiE '^mbstring$' \ + && php-fpm -m | grep -oiE '^mbstring$' \ + && php -m | grep -oiE '^exif$' \ + && php-fpm -m | grep -oiE '^exif$' \ + && php -m | grep -oiE '^gd$' \ + && php-fpm -m | grep -oiE '^gd$' \ + && php -m | grep -oiE '^igbinary$' \ + && php-fpm -m | grep -oiE '^igbinary$' \ + && php -m | grep -oiE '^msgpack$' \ + && php-fpm -m | grep -oiE '^msgpack$' \ + && php -m | grep -oiE '^memcached$' \ + && php-fpm -m | grep -oiE '^memcached$' \ + && php -m | grep -oiE '^mysqli$' \ + && php-fpm -m | grep -oiE '^mysqli$' \ + && php -m | grep -oiE '^pgsql$' \ + && php-fpm -m | grep -oiE '^pgsql$' \ + && php -m | grep -oiE '^redis$' \ + && php-fpm -m | grep -oiE '^redis$' \ && true diff --git a/Dockerfiles/mods/Dockerfile-5.3 b/Dockerfiles/mods/Dockerfile-5.3 index f0b3ec0..bdec3be 100644 --- a/Dockerfiles/mods/Dockerfile-5.3 +++ b/Dockerfiles/mods/Dockerfile-5.3 @@ -9,6 +9,20 @@ FROM devilbox/php-fpm:5.3-base as builder RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ + libenchant-dev \ + libevent-dev \ + libfreetype6-dev \ + libjpeg-dev \ + libmemcached-dev \ + libmysqlclient-dev \ + libpng-dev \ + libpq-dev \ + libsasl2-dev \ + libssl-dev \ + libvpx-dev \ + libwebp-dev \ + libxpm-dev \ + zlib1g-dev \ # Build tools autoconf \ bison \ @@ -48,6 +62,136 @@ RUN set -eux \ echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi +# -------------------- Installing PHP Extension: bcmath -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ + && true + + +# -------------------- Installing PHP Extension: enchant -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \ + && true + + +# -------------------- Installing PHP Extension: exif -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ + && true + + +# -------------------- Installing PHP Extension: gd -------------------- +RUN set -eux \ + # Version specific pre-command + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libjpeg.* /usr/lib/ && \ +ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libpng.* /usr/lib/ && \ +ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ && \ +mkdir /usr/include/freetype2/freetype && \ +ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \ + \ + # Installation: Version specific + # Type: Built-in extension + # Custom: configure command + && docker-php-ext-configure gd --with-gd --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf \ + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ + && true + + +# -------------------- Installing PHP Extension: igbinary -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install igbinary-2.0.8 \ + # Enabling + && docker-php-ext-enable igbinary \ + && true + + +# -------------------- Installing PHP Extension: msgpack -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install msgpack-0.5.7 \ + # Enabling + && docker-php-ext-enable msgpack \ + && true + + +# -------------------- Installing PHP Extension: memcached -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install memcached-2.2.0 \ + # Enabling + && docker-php-ext-enable memcached \ + && true + + +# -------------------- Installing PHP Extension: mongodb -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install mongodb-0.6.3 \ + # Enabling + && docker-php-ext-enable mongodb \ + && true + + +# -------------------- Installing PHP Extension: mysqli -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: Built-in extension + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \ + && true + + +# -------------------- Installing PHP Extension: pgsql -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \ + && true + + +# -------------------- Installing PHP Extension: apcu -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install apcu-4.0.11 \ + # Enabling + && docker-php-ext-enable apcu \ + && true + + +# -------------------- Installing PHP Extension: redis -------------------- +RUN set -eux \ + # Generic pre-command + && if [ -f /usr/include/liblzf/lzf.h ]; then \ + ln -s /usr/include/liblzf/lzf.h /usr/include/; \ +fi \ + \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install redis-4.3.0 \ + # Enabling + && docker-php-ext-enable redis \ + && true + + # Fix php.ini settings for enabled extensions @@ -95,6 +239,17 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.3-mods" RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ + libenchant1c2a \ + libevent-2.0-5 \ + libfreetype6 \ + libjpeg62-turbo \ + libmemcachedutil2 \ + libmysqlclient18 \ + libpng12-0 \ + libpq5 \ + libvpx1 \ + libwebp5 \ + libxpm4 \ ca-certificates \ && rm -rf /var/lib/apt/lists/* \ \ @@ -134,8 +289,32 @@ RUN set -eux \ && if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \ && rm -f /usr/local/etc/php/php.ini \ \ - && php -m | grep -oiE '^hash$' \ - && php-fpm -m | grep -oiE '^hash$' \ + && php -m | grep -oiE '^bcmath$' \ + && php-fpm -m | grep -oiE '^bcmath$' \ + && php -m | grep -oiE '^enchant$' \ + && php-fpm -m | grep -oiE '^enchant$' \ + && php -m | grep -oiE '^mbstring$' \ + && php-fpm -m | grep -oiE '^mbstring$' \ + && php -m | grep -oiE '^exif$' \ + && php-fpm -m | grep -oiE '^exif$' \ + && php -m | grep -oiE '^gd$' \ + && php-fpm -m | grep -oiE '^gd$' \ + && php -m | grep -oiE '^igbinary$' \ + && php-fpm -m | grep -oiE '^igbinary$' \ + && php -m | grep -oiE '^msgpack$' \ + && php-fpm -m | grep -oiE '^msgpack$' \ + && php -m | grep -oiE '^memcached$' \ + && php-fpm -m | grep -oiE '^memcached$' \ + && php -m | grep -oiE '^mongodb$' \ + && php-fpm -m | grep -oiE '^mongodb$' \ + && php -m | grep -oiE '^mysqli$' \ + && php-fpm -m | grep -oiE '^mysqli$' \ + && php -m | grep -oiE '^pgsql$' \ + && php-fpm -m | grep -oiE '^pgsql$' \ + && php -m | grep -oiE '^apcu$' \ + && php-fpm -m | grep -oiE '^apcu$' \ + && php -m | grep -oiE '^redis$' \ + && php-fpm -m | grep -oiE '^redis$' \ && true diff --git a/Dockerfiles/mods/Dockerfile-5.4 b/Dockerfiles/mods/Dockerfile-5.4 index 3338507..b32be7f 100644 --- a/Dockerfiles/mods/Dockerfile-5.4 +++ b/Dockerfiles/mods/Dockerfile-5.4 @@ -9,6 +9,20 @@ FROM devilbox/php-fpm:5.4-base as builder RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ + libenchant-dev \ + libevent-dev \ + libfreetype6-dev \ + libjpeg-dev \ + libmemcached-dev \ + libmysqlclient-dev \ + libpng-dev \ + libpq-dev \ + libsasl2-dev \ + libssl-dev \ + libvpx-dev \ + libwebp-dev \ + libxpm-dev \ + zlib1g-dev \ # Build tools autoconf \ bison \ @@ -48,6 +62,136 @@ RUN set -eux \ echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi +# -------------------- Installing PHP Extension: bcmath -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ + && true + + +# -------------------- Installing PHP Extension: enchant -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \ + && true + + +# -------------------- Installing PHP Extension: exif -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ + && true + + +# -------------------- Installing PHP Extension: gd -------------------- +RUN set -eux \ + # Version specific pre-command + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libjpeg.* /usr/lib/ && \ +ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libpng.* /usr/lib/ && \ +ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ && \ +mkdir /usr/include/freetype2/freetype && \ +ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \ + \ + # Installation: Version specific + # Type: Built-in extension + # Custom: configure command + && docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf \ + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ + && true + + +# -------------------- Installing PHP Extension: igbinary -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install igbinary-2.0.8 \ + # Enabling + && docker-php-ext-enable igbinary \ + && true + + +# -------------------- Installing PHP Extension: msgpack -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install msgpack-0.5.7 \ + # Enabling + && docker-php-ext-enable msgpack \ + && true + + +# -------------------- Installing PHP Extension: memcached -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install memcached-2.2.0 \ + # Enabling + && docker-php-ext-enable memcached \ + && true + + +# -------------------- Installing PHP Extension: mongodb -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install mongodb-1.2.11 \ + # Enabling + && docker-php-ext-enable mongodb \ + && true + + +# -------------------- Installing PHP Extension: mysqli -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: Built-in extension + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \ + && true + + +# -------------------- Installing PHP Extension: pgsql -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \ + && true + + +# -------------------- Installing PHP Extension: apcu -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install apcu-4.0.11 \ + # Enabling + && docker-php-ext-enable apcu \ + && true + + +# -------------------- Installing PHP Extension: redis -------------------- +RUN set -eux \ + # Generic pre-command + && if [ -f /usr/include/liblzf/lzf.h ]; then \ + ln -s /usr/include/liblzf/lzf.h /usr/include/; \ +fi \ + \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install redis-4.3.0 \ + # Enabling + && docker-php-ext-enable redis \ + && true + + # Fix php.ini settings for enabled extensions @@ -95,6 +239,17 @@ LABEL "org.opencontainers.image.description"="PHP-FPM 5.4-mods" RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ + libenchant1c2a \ + libevent-2.0-5 \ + libfreetype6 \ + libjpeg62-turbo \ + libmemcachedutil2 \ + libmysqlclient18 \ + libpng12-0 \ + libpq5 \ + libvpx1 \ + libwebp5 \ + libxpm4 \ ca-certificates \ && rm -rf /var/lib/apt/lists/* \ \ @@ -134,8 +289,32 @@ RUN set -eux \ && if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \ && rm -f /usr/local/etc/php/php.ini \ \ - && php -m | grep -oiE '^hash$' \ - && php-fpm -m | grep -oiE '^hash$' \ + && php -m | grep -oiE '^bcmath$' \ + && php-fpm -m | grep -oiE '^bcmath$' \ + && php -m | grep -oiE '^enchant$' \ + && php-fpm -m | grep -oiE '^enchant$' \ + && php -m | grep -oiE '^mbstring$' \ + && php-fpm -m | grep -oiE '^mbstring$' \ + && php -m | grep -oiE '^exif$' \ + && php-fpm -m | grep -oiE '^exif$' \ + && php -m | grep -oiE '^gd$' \ + && php-fpm -m | grep -oiE '^gd$' \ + && php -m | grep -oiE '^igbinary$' \ + && php-fpm -m | grep -oiE '^igbinary$' \ + && php -m | grep -oiE '^msgpack$' \ + && php-fpm -m | grep -oiE '^msgpack$' \ + && php -m | grep -oiE '^memcached$' \ + && php-fpm -m | grep -oiE '^memcached$' \ + && php -m | grep -oiE '^mongodb$' \ + && php-fpm -m | grep -oiE '^mongodb$' \ + && php -m | grep -oiE '^mysqli$' \ + && php-fpm -m | grep -oiE '^mysqli$' \ + && php -m | grep -oiE '^pgsql$' \ + && php-fpm -m | grep -oiE '^pgsql$' \ + && php -m | grep -oiE '^apcu$' \ + && php-fpm -m | grep -oiE '^apcu$' \ + && php -m | grep -oiE '^redis$' \ + && php-fpm -m | grep -oiE '^redis$' \ && true diff --git a/Dockerfiles/mods/Dockerfile-5.5 b/Dockerfiles/mods/Dockerfile-5.5 index ae1b56f..5079fee 100644 --- a/Dockerfiles/mods/Dockerfile-5.5 +++ b/Dockerfiles/mods/Dockerfile-5.5 @@ -9,6 +9,22 @@ FROM devilbox/php-fpm:5.5-base as builder RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update \ && DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \ + ghostscript \ + libenchant-dev \ + libevent-dev \ + libfreetype6-dev \ + libjpeg-dev \ + libmagickwand-dev \ + libmemcached-dev \ + libmysqlclient-dev \ + libpng-dev \ + libpq-dev \ + libsasl2-dev \ + libssl-dev \ + libvpx-dev \ + libwebp-dev \ + libxpm-dev \ + zlib1g-dev \ # Build tools autoconf \ bison \ @@ -48,6 +64,158 @@ RUN set -eux \ echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi +# -------------------- Installing PHP Extension: bcmath -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ + && true + + +# -------------------- Installing PHP Extension: enchant -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \ + && true + + +# -------------------- Installing PHP Extension: exif -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ + && true + + +# -------------------- Installing PHP Extension: gd -------------------- +RUN set -eux \ + # Version specific pre-command + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libjpeg.* /usr/lib/ && \ +ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libpng.* /usr/lib/ && \ +ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ && \ +mkdir /usr/include/freetype2/freetype && \ +ln -s /usr/include/freetype2/freetype.h /usr/include/freetype2/freetype/freetype.h \ + \ + # Installation: Version specific + # Type: Built-in extension + # Custom: configure command + && docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf \ + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ + && true + + +# -------------------- Installing PHP Extension: imagick -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install imagick \ + # Enabling + && docker-php-ext-enable imagick \ + # Generic post-command + && sed -i'' 's|.*"thread".*| |g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*|g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi +# -------------------- Installing PHP Extension: bcmath -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ + && true + + +# -------------------- Installing PHP Extension: enchant -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \ + && true + + +# -------------------- Installing PHP Extension: exif -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ + && true + + +# -------------------- Installing PHP Extension: gd -------------------- +RUN set -eux \ + # Version specific pre-command + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \ + # Installation: Version specific + # Type: Built-in extension + # Custom: configure command + && docker-php-ext-configure gd --with-gd --with-vpx-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf \ + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ + && true + + +# -------------------- Installing PHP Extension: imagick -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install imagick \ + # Enabling + && docker-php-ext-enable imagick \ + # Generic post-command + && sed -i'' 's|.*"thread".*| |g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*|g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi +# -------------------- Installing PHP Extension: bcmath -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ + && true + + +# -------------------- Installing PHP Extension: enchant -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \ + && true + + +# -------------------- Installing PHP Extension: exif -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ + && true + + +# -------------------- Installing PHP Extension: gd -------------------- +RUN set -eux \ + # Generic pre-command + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \ + # Installation: Version specific + # Type: Built-in extension + # Custom: configure command + && docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf \ + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ + && true + + +# -------------------- Installing PHP Extension: imagick -------------------- +RUN set -eux \ + # Installation: Version specific + # Type: PECL extension + # Default: Pecl command + && pecl install imagick \ + # Enabling + && docker-php-ext-enable imagick \ + # Generic post-command + && sed -i'' 's|.*"thread".*| |g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*|g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi +# -------------------- Installing PHP Extension: bcmath -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ + && true + + +# -------------------- Installing PHP Extension: enchant -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \ + && true + + +# -------------------- Installing PHP Extension: exif -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ + && true + + +# -------------------- Installing PHP Extension: gd -------------------- +RUN set -eux \ + # Generic pre-command + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \ + # Installation: Version specific + # Type: Built-in extension + # Custom: configure command + && docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-native-ttf \ + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ + && true + + +# -------------------- Installing PHP Extension: imagick -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install imagick \ + # Enabling + && docker-php-ext-enable imagick \ + # Generic post-command + && sed -i'' 's|.*"thread".*| |g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*|g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi +# -------------------- Installing PHP Extension: bcmath -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ + && true + + +# -------------------- Installing PHP Extension: enchant -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \ + && true + + +# -------------------- Installing PHP Extension: exif -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ + && true + + +# -------------------- Installing PHP Extension: gd -------------------- +RUN set -eux \ + # Generic pre-command + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \ + # Installation: Version specific + # Type: Built-in extension + # Custom: configure command + && docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr \ + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ + && true + + +# -------------------- Installing PHP Extension: imagick -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install imagick \ + # Enabling + && docker-php-ext-enable imagick \ + # Generic post-command + && sed -i'' 's|.*"thread".*| |g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*|g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi +# -------------------- Installing PHP Extension: bcmath -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ + && true + + +# -------------------- Installing PHP Extension: exif -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ + && true + + +# -------------------- Installing PHP Extension: gd -------------------- +RUN set -eux \ + # Generic pre-command + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \ + # Installation: Version specific + # Type: Built-in extension + # Custom: configure command + && docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr \ + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ + && true + + +# -------------------- Installing PHP Extension: imagick -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install imagick \ + # Enabling + && docker-php-ext-enable imagick \ + # Generic post-command + && sed -i'' 's|.*"thread".*| |g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*|g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi +# -------------------- Installing PHP Extension: bcmath -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ + && true + + +# -------------------- Installing PHP Extension: exif -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ + && true + + +# -------------------- Installing PHP Extension: gd -------------------- +RUN set -eux \ + # Generic pre-command + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \ + # Installation: Version specific + # Type: Built-in extension + # Custom: configure command + && docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype \ + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ + && true + + +# -------------------- Installing PHP Extension: imagick -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install imagick \ + # Enabling + && docker-php-ext-enable imagick \ + # Generic post-command + && sed -i'' 's|.*"thread".*| |g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*|g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi +# -------------------- Installing PHP Extension: bcmath -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ + && true + + +# -------------------- Installing PHP Extension: enchant -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \ + && true + + +# -------------------- Installing PHP Extension: exif -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ + && true + + +# -------------------- Installing PHP Extension: gd -------------------- +RUN set -eux \ + # Generic pre-command + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \ + # Installation: Version specific + # Type: Built-in extension + # Custom: configure command + && docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype \ + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ + && true + + +# -------------------- Installing PHP Extension: imagick -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install imagick \ + # Enabling + && docker-php-ext-enable imagick \ + # Generic post-command + && sed -i'' 's|.*"thread".*| |g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*|g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi +# -------------------- Installing PHP Extension: bcmath -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ + && true + + +# -------------------- Installing PHP Extension: enchant -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \ + && true + + +# -------------------- Installing PHP Extension: exif -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ + && true + + +# -------------------- Installing PHP Extension: gd -------------------- +RUN set -eux \ + # Generic pre-command + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \ + # Installation: Version specific + # Type: Built-in extension + # Custom: configure command + && docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --with-avif \ + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ + && true + + +# -------------------- Installing PHP Extension: imagick -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install imagick \ + # Enabling + && docker-php-ext-enable imagick \ + # Generic post-command + && sed -i'' 's|.*"thread".*| |g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*|g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi +# -------------------- Installing PHP Extension: bcmath -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ + && true + + +# -------------------- Installing PHP Extension: enchant -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \ + && true + + +# -------------------- Installing PHP Extension: exif -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Built-in extension + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ + && true + + +# -------------------- Installing PHP Extension: gd -------------------- +RUN set -eux \ + # Generic pre-command + && ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libXpm.* /usr/lib/ \ + # Installation: Version specific + # Type: Built-in extension + # Custom: configure command + && docker-php-ext-configure gd --enable-gd --with-webp --with-jpeg --with-xpm --with-freetype --with-avif \ + # Installation + && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ + && true + + +# -------------------- Installing PHP Extension: imagick -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install imagick \ + # Enabling + && docker-php-ext-enable imagick \ + # Generic post-command + && sed -i'' 's|.*"thread".*| |g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*|g' /etc/ImageMagick-6/policy.xml \ +&& sed -i'' 's|.*