From b62fa33a7198244ea296e5f1845f99ff6363743c Mon Sep 17 00:00:00 2001 From: Michael Sierks Date: Thu, 10 Mar 2022 10:16:52 -0600 Subject: [PATCH] Use gnu-libiconv for php iconv extension on alpine --- 7.3/alpine3.14/cli/Dockerfile | 11 +++++++---- 7.3/alpine3.14/fpm/Dockerfile | 11 +++++++---- 7.3/alpine3.14/zts/Dockerfile | 11 +++++++---- 7.3/alpine3.15/cli/Dockerfile | 11 +++++++---- 7.3/alpine3.15/fpm/Dockerfile | 11 +++++++---- 7.3/alpine3.15/zts/Dockerfile | 11 +++++++---- 7.3/bullseye/apache/Dockerfile | 5 +---- 7.3/bullseye/cli/Dockerfile | 5 +---- 7.3/bullseye/fpm/Dockerfile | 5 +---- 7.3/bullseye/zts/Dockerfile | 5 +---- 7.3/buster/apache/Dockerfile | 5 +---- 7.3/buster/cli/Dockerfile | 5 +---- 7.3/buster/fpm/Dockerfile | 5 +---- 7.3/buster/zts/Dockerfile | 5 +---- 7.4/alpine3.14/cli/Dockerfile | 11 +++++++---- 7.4/alpine3.14/fpm/Dockerfile | 11 +++++++---- 7.4/alpine3.14/zts/Dockerfile | 11 +++++++---- 7.4/alpine3.15/cli/Dockerfile | 11 +++++++---- 7.4/alpine3.15/fpm/Dockerfile | 11 +++++++---- 7.4/alpine3.15/zts/Dockerfile | 11 +++++++---- 7.4/bullseye/apache/Dockerfile | 5 +---- 7.4/bullseye/cli/Dockerfile | 5 +---- 7.4/bullseye/fpm/Dockerfile | 5 +---- 7.4/bullseye/zts/Dockerfile | 5 +---- 7.4/buster/apache/Dockerfile | 5 +---- 7.4/buster/cli/Dockerfile | 5 +---- 7.4/buster/fpm/Dockerfile | 5 +---- 7.4/buster/zts/Dockerfile | 5 +---- 8.0-rc/alpine3.14/cli/Dockerfile | 9 +++++---- 8.0-rc/alpine3.14/fpm/Dockerfile | 9 +++++---- 8.0-rc/alpine3.15/cli/Dockerfile | 9 +++++---- 8.0-rc/alpine3.15/fpm/Dockerfile | 9 +++++---- 8.0-rc/bullseye/apache/Dockerfile | 5 +---- 8.0-rc/bullseye/cli/Dockerfile | 5 +---- 8.0-rc/bullseye/fpm/Dockerfile | 5 +---- 8.0-rc/bullseye/zts/Dockerfile | 5 +---- 8.0-rc/buster/apache/Dockerfile | 5 +---- 8.0-rc/buster/cli/Dockerfile | 5 +---- 8.0-rc/buster/fpm/Dockerfile | 5 +---- 8.0-rc/buster/zts/Dockerfile | 5 +---- 8.0/alpine3.14/cli/Dockerfile | 9 +++++---- 8.0/alpine3.14/fpm/Dockerfile | 9 +++++---- 8.0/alpine3.15/cli/Dockerfile | 9 +++++---- 8.0/alpine3.15/fpm/Dockerfile | 9 +++++---- 8.0/bullseye/apache/Dockerfile | 5 +---- 8.0/bullseye/cli/Dockerfile | 5 +---- 8.0/bullseye/fpm/Dockerfile | 5 +---- 8.0/bullseye/zts/Dockerfile | 5 +---- 8.0/buster/apache/Dockerfile | 5 +---- 8.0/buster/cli/Dockerfile | 5 +---- 8.0/buster/fpm/Dockerfile | 5 +---- 8.0/buster/zts/Dockerfile | 5 +---- 8.1-rc/alpine3.14/cli/Dockerfile | 9 +++++---- 8.1-rc/alpine3.14/fpm/Dockerfile | 9 +++++---- 8.1-rc/alpine3.15/cli/Dockerfile | 9 +++++---- 8.1-rc/alpine3.15/fpm/Dockerfile | 9 +++++---- 8.1-rc/bullseye/apache/Dockerfile | 5 +---- 8.1-rc/bullseye/cli/Dockerfile | 5 +---- 8.1-rc/bullseye/fpm/Dockerfile | 5 +---- 8.1-rc/bullseye/zts/Dockerfile | 5 +---- 8.1-rc/buster/apache/Dockerfile | 5 +---- 8.1-rc/buster/cli/Dockerfile | 5 +---- 8.1-rc/buster/fpm/Dockerfile | 5 +---- 8.1-rc/buster/zts/Dockerfile | 5 +---- 8.1/alpine3.14/cli/Dockerfile | 9 +++++---- 8.1/alpine3.14/fpm/Dockerfile | 9 +++++---- 8.1/alpine3.15/cli/Dockerfile | 9 +++++---- 8.1/alpine3.15/fpm/Dockerfile | 9 +++++---- 8.1/bullseye/apache/Dockerfile | 5 +---- 8.1/bullseye/cli/Dockerfile | 5 +---- 8.1/bullseye/fpm/Dockerfile | 5 +---- 8.1/bullseye/zts/Dockerfile | 5 +---- 8.1/buster/apache/Dockerfile | 5 +---- 8.1/buster/cli/Dockerfile | 5 +---- 8.1/buster/fpm/Dockerfile | 5 +---- 8.1/buster/zts/Dockerfile | 5 +---- Dockerfile-linux.template | 15 +++++++++++---- 77 files changed, 223 insertions(+), 308 deletions(-) diff --git a/7.3/alpine3.14/cli/Dockerfile b/7.3/alpine3.14/cli/Dockerfile index 984b514af..1da61cec4 100644 --- a/7.3/alpine3.14/cli/Dockerfile +++ b/7.3/alpine3.14/cli/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ openssl-dev \ @@ -102,6 +103,11 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ +# PHP < 8 doesn't know to look deeper for GNU libiconv: https://github.com/php/php-src/commit/b480e6841ecd5317faa136647a2b8253a4c2d0df + ln -sv /usr/include/gnu-libiconv/*.h /usr/include/; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -139,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -193,8 +199,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/7.3/alpine3.14/fpm/Dockerfile b/7.3/alpine3.14/fpm/Dockerfile index 9b46e9b93..d9df05858 100644 --- a/7.3/alpine3.14/fpm/Dockerfile +++ b/7.3/alpine3.14/fpm/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ openssl-dev \ @@ -102,6 +103,11 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ +# PHP < 8 doesn't know to look deeper for GNU libiconv: https://github.com/php/php-src/commit/b480e6841ecd5317faa136647a2b8253a4c2d0df + ln -sv /usr/include/gnu-libiconv/*.h /usr/include/; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -139,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -198,9 +204,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/7.3/alpine3.14/zts/Dockerfile b/7.3/alpine3.14/zts/Dockerfile index b19ebfe59..360342aa6 100644 --- a/7.3/alpine3.14/zts/Dockerfile +++ b/7.3/alpine3.14/zts/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ openssl-dev \ @@ -102,6 +103,11 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ +# PHP < 8 doesn't know to look deeper for GNU libiconv: https://github.com/php/php-src/commit/b480e6841ecd5317faa136647a2b8253a4c2d0df + ln -sv /usr/include/gnu-libiconv/*.h /usr/include/; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -139,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -196,8 +202,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/7.3/alpine3.15/cli/Dockerfile b/7.3/alpine3.15/cli/Dockerfile index b9ed783d8..1fb20b132 100644 --- a/7.3/alpine3.15/cli/Dockerfile +++ b/7.3/alpine3.15/cli/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ openssl-dev \ @@ -102,6 +103,11 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ +# PHP < 8 doesn't know to look deeper for GNU libiconv: https://github.com/php/php-src/commit/b480e6841ecd5317faa136647a2b8253a4c2d0df + ln -sv /usr/include/gnu-libiconv/*.h /usr/include/; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -139,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -193,8 +199,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/7.3/alpine3.15/fpm/Dockerfile b/7.3/alpine3.15/fpm/Dockerfile index c1273fe3f..546c6f9b2 100644 --- a/7.3/alpine3.15/fpm/Dockerfile +++ b/7.3/alpine3.15/fpm/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ openssl-dev \ @@ -102,6 +103,11 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ +# PHP < 8 doesn't know to look deeper for GNU libiconv: https://github.com/php/php-src/commit/b480e6841ecd5317faa136647a2b8253a4c2d0df + ln -sv /usr/include/gnu-libiconv/*.h /usr/include/; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -139,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -198,9 +204,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/7.3/alpine3.15/zts/Dockerfile b/7.3/alpine3.15/zts/Dockerfile index 8bfbcc0b1..07911b184 100644 --- a/7.3/alpine3.15/zts/Dockerfile +++ b/7.3/alpine3.15/zts/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ openssl-dev \ @@ -102,6 +103,11 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ +# PHP < 8 doesn't know to look deeper for GNU libiconv: https://github.com/php/php-src/commit/b480e6841ecd5317faa136647a2b8253a4c2d0df + ln -sv /usr/include/gnu-libiconv/*.h /usr/include/; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -139,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -196,8 +202,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/7.3/bullseye/apache/Dockerfile b/7.3/bullseye/apache/Dockerfile index 4cd73cf5e..50e1ebe18 100644 --- a/7.3/bullseye/apache/Dockerfile +++ b/7.3/bullseye/apache/Dockerfile @@ -213,7 +213,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -275,9 +275,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - # temporary "freetype-config" workaround for https://github.com/docker-library/php/issues/865 (https://bugs.php.net/bug.php?id=76324) RUN { echo '#!/bin/sh'; echo 'exec pkg-config "$@" freetype2'; } > /usr/local/bin/freetype-config && chmod +x /usr/local/bin/freetype-config diff --git a/7.3/bullseye/cli/Dockerfile b/7.3/bullseye/cli/Dockerfile index a29b57621..71bddbe1e 100644 --- a/7.3/bullseye/cli/Dockerfile +++ b/7.3/bullseye/cli/Dockerfile @@ -154,7 +154,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -216,9 +216,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - # temporary "freetype-config" workaround for https://github.com/docker-library/php/issues/865 (https://bugs.php.net/bug.php?id=76324) RUN { echo '#!/bin/sh'; echo 'exec pkg-config "$@" freetype2'; } > /usr/local/bin/freetype-config && chmod +x /usr/local/bin/freetype-config diff --git a/7.3/bullseye/fpm/Dockerfile b/7.3/bullseye/fpm/Dockerfile index 9d0481e61..289878f69 100644 --- a/7.3/bullseye/fpm/Dockerfile +++ b/7.3/bullseye/fpm/Dockerfile @@ -154,7 +154,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -218,9 +218,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - # temporary "freetype-config" workaround for https://github.com/docker-library/php/issues/865 (https://bugs.php.net/bug.php?id=76324) RUN { echo '#!/bin/sh'; echo 'exec pkg-config "$@" freetype2'; } > /usr/local/bin/freetype-config && chmod +x /usr/local/bin/freetype-config diff --git a/7.3/bullseye/zts/Dockerfile b/7.3/bullseye/zts/Dockerfile index 8372b22d1..7ea0c53c8 100644 --- a/7.3/bullseye/zts/Dockerfile +++ b/7.3/bullseye/zts/Dockerfile @@ -154,7 +154,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -219,9 +219,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - # temporary "freetype-config" workaround for https://github.com/docker-library/php/issues/865 (https://bugs.php.net/bug.php?id=76324) RUN { echo '#!/bin/sh'; echo 'exec pkg-config "$@" freetype2'; } > /usr/local/bin/freetype-config && chmod +x /usr/local/bin/freetype-config diff --git a/7.3/buster/apache/Dockerfile b/7.3/buster/apache/Dockerfile index ff7295431..011865459 100644 --- a/7.3/buster/apache/Dockerfile +++ b/7.3/buster/apache/Dockerfile @@ -213,7 +213,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -275,9 +275,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - # temporary "freetype-config" workaround for https://github.com/docker-library/php/issues/865 (https://bugs.php.net/bug.php?id=76324) RUN { echo '#!/bin/sh'; echo 'exec pkg-config "$@" freetype2'; } > /usr/local/bin/freetype-config && chmod +x /usr/local/bin/freetype-config diff --git a/7.3/buster/cli/Dockerfile b/7.3/buster/cli/Dockerfile index b68544098..913ccef9c 100644 --- a/7.3/buster/cli/Dockerfile +++ b/7.3/buster/cli/Dockerfile @@ -154,7 +154,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -216,9 +216,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - # temporary "freetype-config" workaround for https://github.com/docker-library/php/issues/865 (https://bugs.php.net/bug.php?id=76324) RUN { echo '#!/bin/sh'; echo 'exec pkg-config "$@" freetype2'; } > /usr/local/bin/freetype-config && chmod +x /usr/local/bin/freetype-config diff --git a/7.3/buster/fpm/Dockerfile b/7.3/buster/fpm/Dockerfile index 2a4f0c7cf..44e84aec2 100644 --- a/7.3/buster/fpm/Dockerfile +++ b/7.3/buster/fpm/Dockerfile @@ -154,7 +154,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -218,9 +218,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - # temporary "freetype-config" workaround for https://github.com/docker-library/php/issues/865 (https://bugs.php.net/bug.php?id=76324) RUN { echo '#!/bin/sh'; echo 'exec pkg-config "$@" freetype2'; } > /usr/local/bin/freetype-config && chmod +x /usr/local/bin/freetype-config diff --git a/7.3/buster/zts/Dockerfile b/7.3/buster/zts/Dockerfile index a8f5e21b9..d048649a6 100644 --- a/7.3/buster/zts/Dockerfile +++ b/7.3/buster/zts/Dockerfile @@ -154,7 +154,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -219,9 +219,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - # temporary "freetype-config" workaround for https://github.com/docker-library/php/issues/865 (https://bugs.php.net/bug.php?id=76324) RUN { echo '#!/bin/sh'; echo 'exec pkg-config "$@" freetype2'; } > /usr/local/bin/freetype-config && chmod +x /usr/local/bin/freetype-config diff --git a/7.4/alpine3.14/cli/Dockerfile b/7.4/alpine3.14/cli/Dockerfile index 30cd6650a..713d6b76a 100644 --- a/7.4/alpine3.14/cli/Dockerfile +++ b/7.4/alpine3.14/cli/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,11 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ +# PHP < 8 doesn't know to look deeper for GNU libiconv: https://github.com/php/php-src/commit/b480e6841ecd5317faa136647a2b8253a4c2d0df + ln -sv /usr/include/gnu-libiconv/*.h /usr/include/; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +147,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -198,8 +204,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/7.4/alpine3.14/fpm/Dockerfile b/7.4/alpine3.14/fpm/Dockerfile index 68997f45d..4089e92d0 100644 --- a/7.4/alpine3.14/fpm/Dockerfile +++ b/7.4/alpine3.14/fpm/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,11 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ +# PHP < 8 doesn't know to look deeper for GNU libiconv: https://github.com/php/php-src/commit/b480e6841ecd5317faa136647a2b8253a4c2d0df + ln -sv /usr/include/gnu-libiconv/*.h /usr/include/; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +147,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -203,9 +209,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/7.4/alpine3.14/zts/Dockerfile b/7.4/alpine3.14/zts/Dockerfile index 3c5695e26..3aed583d8 100644 --- a/7.4/alpine3.14/zts/Dockerfile +++ b/7.4/alpine3.14/zts/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,11 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ +# PHP < 8 doesn't know to look deeper for GNU libiconv: https://github.com/php/php-src/commit/b480e6841ecd5317faa136647a2b8253a4c2d0df + ln -sv /usr/include/gnu-libiconv/*.h /usr/include/; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +147,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -201,8 +207,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/7.4/alpine3.15/cli/Dockerfile b/7.4/alpine3.15/cli/Dockerfile index a378ba143..ecf98da83 100644 --- a/7.4/alpine3.15/cli/Dockerfile +++ b/7.4/alpine3.15/cli/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,11 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ +# PHP < 8 doesn't know to look deeper for GNU libiconv: https://github.com/php/php-src/commit/b480e6841ecd5317faa136647a2b8253a4c2d0df + ln -sv /usr/include/gnu-libiconv/*.h /usr/include/; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +147,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -198,8 +204,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/7.4/alpine3.15/fpm/Dockerfile b/7.4/alpine3.15/fpm/Dockerfile index c11cfccd4..5768aac97 100644 --- a/7.4/alpine3.15/fpm/Dockerfile +++ b/7.4/alpine3.15/fpm/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,11 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ +# PHP < 8 doesn't know to look deeper for GNU libiconv: https://github.com/php/php-src/commit/b480e6841ecd5317faa136647a2b8253a4c2d0df + ln -sv /usr/include/gnu-libiconv/*.h /usr/include/; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +147,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -203,9 +209,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/7.4/alpine3.15/zts/Dockerfile b/7.4/alpine3.15/zts/Dockerfile index de8276db9..3598e419f 100644 --- a/7.4/alpine3.15/zts/Dockerfile +++ b/7.4/alpine3.15/zts/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,11 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ +# PHP < 8 doesn't know to look deeper for GNU libiconv: https://github.com/php/php-src/commit/b480e6841ecd5317faa136647a2b8253a4c2d0df + ln -sv /usr/include/gnu-libiconv/*.h /usr/include/; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +147,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -201,8 +207,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/7.4/bullseye/apache/Dockerfile b/7.4/bullseye/apache/Dockerfile index 381cefbca..deeefcf32 100644 --- a/7.4/bullseye/apache/Dockerfile +++ b/7.4/bullseye/apache/Dockerfile @@ -214,7 +214,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -279,9 +279,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] # https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop STOPSIGNAL SIGWINCH diff --git a/7.4/bullseye/cli/Dockerfile b/7.4/bullseye/cli/Dockerfile index b36cdba08..6f7ec5db4 100644 --- a/7.4/bullseye/cli/Dockerfile +++ b/7.4/bullseye/cli/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -220,8 +220,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/7.4/bullseye/fpm/Dockerfile b/7.4/bullseye/fpm/Dockerfile index e8c60bc47..68f05e443 100644 --- a/7.4/bullseye/fpm/Dockerfile +++ b/7.4/bullseye/fpm/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -222,9 +222,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/7.4/bullseye/zts/Dockerfile b/7.4/bullseye/zts/Dockerfile index 38c14eeef..c4230aae8 100644 --- a/7.4/bullseye/zts/Dockerfile +++ b/7.4/bullseye/zts/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -223,8 +223,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/7.4/buster/apache/Dockerfile b/7.4/buster/apache/Dockerfile index fb29bd064..726cf0968 100644 --- a/7.4/buster/apache/Dockerfile +++ b/7.4/buster/apache/Dockerfile @@ -214,7 +214,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -279,9 +279,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] # https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop STOPSIGNAL SIGWINCH diff --git a/7.4/buster/cli/Dockerfile b/7.4/buster/cli/Dockerfile index 8ea267a36..811f21a41 100644 --- a/7.4/buster/cli/Dockerfile +++ b/7.4/buster/cli/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -220,8 +220,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/7.4/buster/fpm/Dockerfile b/7.4/buster/fpm/Dockerfile index 525764b9a..dfbb537f5 100644 --- a/7.4/buster/fpm/Dockerfile +++ b/7.4/buster/fpm/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -222,9 +222,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/7.4/buster/zts/Dockerfile b/7.4/buster/zts/Dockerfile index a817d88ff..ff3eb3184 100644 --- a/7.4/buster/zts/Dockerfile +++ b/7.4/buster/zts/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -223,8 +223,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.0-rc/alpine3.14/cli/Dockerfile b/8.0-rc/alpine3.14/cli/Dockerfile index 634d9a0fd..66e3e197d 100644 --- a/8.0-rc/alpine3.14/cli/Dockerfile +++ b/8.0-rc/alpine3.14/cli/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -198,8 +202,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.0-rc/alpine3.14/fpm/Dockerfile b/8.0-rc/alpine3.14/fpm/Dockerfile index a030b7fdd..fd60a75a0 100644 --- a/8.0-rc/alpine3.14/fpm/Dockerfile +++ b/8.0-rc/alpine3.14/fpm/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -203,9 +207,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.0-rc/alpine3.15/cli/Dockerfile b/8.0-rc/alpine3.15/cli/Dockerfile index 460daee8e..de7655c90 100644 --- a/8.0-rc/alpine3.15/cli/Dockerfile +++ b/8.0-rc/alpine3.15/cli/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -198,8 +202,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.0-rc/alpine3.15/fpm/Dockerfile b/8.0-rc/alpine3.15/fpm/Dockerfile index ffbfa6180..b9ed5dd97 100644 --- a/8.0-rc/alpine3.15/fpm/Dockerfile +++ b/8.0-rc/alpine3.15/fpm/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -203,9 +207,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.0-rc/bullseye/apache/Dockerfile b/8.0-rc/bullseye/apache/Dockerfile index 51da2606c..7824ab557 100644 --- a/8.0-rc/bullseye/apache/Dockerfile +++ b/8.0-rc/bullseye/apache/Dockerfile @@ -214,7 +214,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -279,9 +279,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] # https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop STOPSIGNAL SIGWINCH diff --git a/8.0-rc/bullseye/cli/Dockerfile b/8.0-rc/bullseye/cli/Dockerfile index 7a91fe45a..e052d3531 100644 --- a/8.0-rc/bullseye/cli/Dockerfile +++ b/8.0-rc/bullseye/cli/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -220,8 +220,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.0-rc/bullseye/fpm/Dockerfile b/8.0-rc/bullseye/fpm/Dockerfile index 61e09e6d4..ab1dea47c 100644 --- a/8.0-rc/bullseye/fpm/Dockerfile +++ b/8.0-rc/bullseye/fpm/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -222,9 +222,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.0-rc/bullseye/zts/Dockerfile b/8.0-rc/bullseye/zts/Dockerfile index 8b856eb78..eb682f8d8 100644 --- a/8.0-rc/bullseye/zts/Dockerfile +++ b/8.0-rc/bullseye/zts/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -223,8 +223,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.0-rc/buster/apache/Dockerfile b/8.0-rc/buster/apache/Dockerfile index 0dcd3cfda..c8e8a4ce0 100644 --- a/8.0-rc/buster/apache/Dockerfile +++ b/8.0-rc/buster/apache/Dockerfile @@ -214,7 +214,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -279,9 +279,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] # https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop STOPSIGNAL SIGWINCH diff --git a/8.0-rc/buster/cli/Dockerfile b/8.0-rc/buster/cli/Dockerfile index 22cbda41a..659c1cb81 100644 --- a/8.0-rc/buster/cli/Dockerfile +++ b/8.0-rc/buster/cli/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -220,8 +220,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.0-rc/buster/fpm/Dockerfile b/8.0-rc/buster/fpm/Dockerfile index 15bb0d8a9..818bf6ffe 100644 --- a/8.0-rc/buster/fpm/Dockerfile +++ b/8.0-rc/buster/fpm/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -222,9 +222,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.0-rc/buster/zts/Dockerfile b/8.0-rc/buster/zts/Dockerfile index e0da84462..35ce1752c 100644 --- a/8.0-rc/buster/zts/Dockerfile +++ b/8.0-rc/buster/zts/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -223,8 +223,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.0/alpine3.14/cli/Dockerfile b/8.0/alpine3.14/cli/Dockerfile index 7e6446d7a..75517ba48 100644 --- a/8.0/alpine3.14/cli/Dockerfile +++ b/8.0/alpine3.14/cli/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -198,8 +202,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.0/alpine3.14/fpm/Dockerfile b/8.0/alpine3.14/fpm/Dockerfile index 05dd77fa6..dfc7615b4 100644 --- a/8.0/alpine3.14/fpm/Dockerfile +++ b/8.0/alpine3.14/fpm/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -203,9 +207,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.0/alpine3.15/cli/Dockerfile b/8.0/alpine3.15/cli/Dockerfile index 3006dd894..97ed34256 100644 --- a/8.0/alpine3.15/cli/Dockerfile +++ b/8.0/alpine3.15/cli/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -198,8 +202,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.0/alpine3.15/fpm/Dockerfile b/8.0/alpine3.15/fpm/Dockerfile index 80bcbc125..b6992c299 100644 --- a/8.0/alpine3.15/fpm/Dockerfile +++ b/8.0/alpine3.15/fpm/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -203,9 +207,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.0/bullseye/apache/Dockerfile b/8.0/bullseye/apache/Dockerfile index b4d352233..332095ef2 100644 --- a/8.0/bullseye/apache/Dockerfile +++ b/8.0/bullseye/apache/Dockerfile @@ -214,7 +214,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -279,9 +279,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] # https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop STOPSIGNAL SIGWINCH diff --git a/8.0/bullseye/cli/Dockerfile b/8.0/bullseye/cli/Dockerfile index 3a3ed2d27..c5dfb1fa5 100644 --- a/8.0/bullseye/cli/Dockerfile +++ b/8.0/bullseye/cli/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -220,8 +220,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.0/bullseye/fpm/Dockerfile b/8.0/bullseye/fpm/Dockerfile index 1902ff446..1d53c0f8b 100644 --- a/8.0/bullseye/fpm/Dockerfile +++ b/8.0/bullseye/fpm/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -222,9 +222,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.0/bullseye/zts/Dockerfile b/8.0/bullseye/zts/Dockerfile index 0d604acd3..eab58da40 100644 --- a/8.0/bullseye/zts/Dockerfile +++ b/8.0/bullseye/zts/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -223,8 +223,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.0/buster/apache/Dockerfile b/8.0/buster/apache/Dockerfile index 93e5d894b..66cef0e12 100644 --- a/8.0/buster/apache/Dockerfile +++ b/8.0/buster/apache/Dockerfile @@ -214,7 +214,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -279,9 +279,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] # https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop STOPSIGNAL SIGWINCH diff --git a/8.0/buster/cli/Dockerfile b/8.0/buster/cli/Dockerfile index c9cf29e32..06db4e12b 100644 --- a/8.0/buster/cli/Dockerfile +++ b/8.0/buster/cli/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -220,8 +220,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.0/buster/fpm/Dockerfile b/8.0/buster/fpm/Dockerfile index 4a2ff8927..94921a19f 100644 --- a/8.0/buster/fpm/Dockerfile +++ b/8.0/buster/fpm/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -222,9 +222,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.0/buster/zts/Dockerfile b/8.0/buster/zts/Dockerfile index 59703854a..cfbb75240 100644 --- a/8.0/buster/zts/Dockerfile +++ b/8.0/buster/zts/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -223,8 +223,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.1-rc/alpine3.14/cli/Dockerfile b/8.1-rc/alpine3.14/cli/Dockerfile index 289a78abd..0618ae5da 100644 --- a/8.1-rc/alpine3.14/cli/Dockerfile +++ b/8.1-rc/alpine3.14/cli/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -198,8 +202,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.1-rc/alpine3.14/fpm/Dockerfile b/8.1-rc/alpine3.14/fpm/Dockerfile index 98179835d..4ea42a973 100644 --- a/8.1-rc/alpine3.14/fpm/Dockerfile +++ b/8.1-rc/alpine3.14/fpm/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -203,9 +207,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.1-rc/alpine3.15/cli/Dockerfile b/8.1-rc/alpine3.15/cli/Dockerfile index 2e8e1d3d9..69e68bb2f 100644 --- a/8.1-rc/alpine3.15/cli/Dockerfile +++ b/8.1-rc/alpine3.15/cli/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -198,8 +202,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.1-rc/alpine3.15/fpm/Dockerfile b/8.1-rc/alpine3.15/fpm/Dockerfile index fe98542b6..a4db6b34c 100644 --- a/8.1-rc/alpine3.15/fpm/Dockerfile +++ b/8.1-rc/alpine3.15/fpm/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -203,9 +207,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.1-rc/bullseye/apache/Dockerfile b/8.1-rc/bullseye/apache/Dockerfile index 2e788b3f7..835b6e0b8 100644 --- a/8.1-rc/bullseye/apache/Dockerfile +++ b/8.1-rc/bullseye/apache/Dockerfile @@ -214,7 +214,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -279,9 +279,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] # https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop STOPSIGNAL SIGWINCH diff --git a/8.1-rc/bullseye/cli/Dockerfile b/8.1-rc/bullseye/cli/Dockerfile index 8d043db4d..1aecf5d79 100644 --- a/8.1-rc/bullseye/cli/Dockerfile +++ b/8.1-rc/bullseye/cli/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -220,8 +220,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.1-rc/bullseye/fpm/Dockerfile b/8.1-rc/bullseye/fpm/Dockerfile index 837e113fd..4a2ee0fb6 100644 --- a/8.1-rc/bullseye/fpm/Dockerfile +++ b/8.1-rc/bullseye/fpm/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -222,9 +222,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.1-rc/bullseye/zts/Dockerfile b/8.1-rc/bullseye/zts/Dockerfile index 3501b8b67..cd4a07de9 100644 --- a/8.1-rc/bullseye/zts/Dockerfile +++ b/8.1-rc/bullseye/zts/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -223,8 +223,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.1-rc/buster/apache/Dockerfile b/8.1-rc/buster/apache/Dockerfile index 58d968e9e..840781e0a 100644 --- a/8.1-rc/buster/apache/Dockerfile +++ b/8.1-rc/buster/apache/Dockerfile @@ -214,7 +214,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -279,9 +279,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] # https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop STOPSIGNAL SIGWINCH diff --git a/8.1-rc/buster/cli/Dockerfile b/8.1-rc/buster/cli/Dockerfile index e0cc6b054..ce80faa97 100644 --- a/8.1-rc/buster/cli/Dockerfile +++ b/8.1-rc/buster/cli/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -220,8 +220,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.1-rc/buster/fpm/Dockerfile b/8.1-rc/buster/fpm/Dockerfile index 84ebf4514..8778e7c43 100644 --- a/8.1-rc/buster/fpm/Dockerfile +++ b/8.1-rc/buster/fpm/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -222,9 +222,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.1-rc/buster/zts/Dockerfile b/8.1-rc/buster/zts/Dockerfile index 02073ea8e..3a0762cc4 100644 --- a/8.1-rc/buster/zts/Dockerfile +++ b/8.1-rc/buster/zts/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -223,8 +223,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.1/alpine3.14/cli/Dockerfile b/8.1/alpine3.14/cli/Dockerfile index 1f5c3e353..b38e8c547 100644 --- a/8.1/alpine3.14/cli/Dockerfile +++ b/8.1/alpine3.14/cli/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -198,8 +202,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.1/alpine3.14/fpm/Dockerfile b/8.1/alpine3.14/fpm/Dockerfile index e37633ebe..d824fa150 100644 --- a/8.1/alpine3.14/fpm/Dockerfile +++ b/8.1/alpine3.14/fpm/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -203,9 +207,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.1/alpine3.15/cli/Dockerfile b/8.1/alpine3.15/cli/Dockerfile index 7572f67df..9b2cb7124 100644 --- a/8.1/alpine3.15/cli/Dockerfile +++ b/8.1/alpine3.15/cli/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -198,8 +202,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.1/alpine3.15/fpm/Dockerfile b/8.1/alpine3.15/fpm/Dockerfile index bd030d4bf..91f494574 100644 --- a/8.1/alpine3.15/fpm/Dockerfile +++ b/8.1/alpine3.15/fpm/Dockerfile @@ -95,6 +95,7 @@ RUN set -eux; \ argon2-dev \ coreutils \ curl-dev \ + gnu-libiconv-dev \ libsodium-dev \ libxml2-dev \ linux-headers \ @@ -104,6 +105,9 @@ RUN set -eux; \ sqlite-dev \ ; \ \ +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ + \ export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -141,7 +145,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv=/usr \ --with-openssl \ --with-readline \ --with-zlib \ @@ -203,9 +207,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.1/bullseye/apache/Dockerfile b/8.1/bullseye/apache/Dockerfile index 394cd545f..d2191cc0c 100644 --- a/8.1/bullseye/apache/Dockerfile +++ b/8.1/bullseye/apache/Dockerfile @@ -214,7 +214,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -279,9 +279,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] # https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop STOPSIGNAL SIGWINCH diff --git a/8.1/bullseye/cli/Dockerfile b/8.1/bullseye/cli/Dockerfile index dfeef5473..30118fb77 100644 --- a/8.1/bullseye/cli/Dockerfile +++ b/8.1/bullseye/cli/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -220,8 +220,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.1/bullseye/fpm/Dockerfile b/8.1/bullseye/fpm/Dockerfile index 157f970d5..6b0d53b4c 100644 --- a/8.1/bullseye/fpm/Dockerfile +++ b/8.1/bullseye/fpm/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -222,9 +222,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.1/bullseye/zts/Dockerfile b/8.1/bullseye/zts/Dockerfile index 031bd5343..e7a60a547 100644 --- a/8.1/bullseye/zts/Dockerfile +++ b/8.1/bullseye/zts/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -223,8 +223,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.1/buster/apache/Dockerfile b/8.1/buster/apache/Dockerfile index 165ae2d27..c16883938 100644 --- a/8.1/buster/apache/Dockerfile +++ b/8.1/buster/apache/Dockerfile @@ -214,7 +214,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -279,9 +279,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] # https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop STOPSIGNAL SIGWINCH diff --git a/8.1/buster/cli/Dockerfile b/8.1/buster/cli/Dockerfile index 89d5a626b..3a19084da 100644 --- a/8.1/buster/cli/Dockerfile +++ b/8.1/buster/cli/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -220,8 +220,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/8.1/buster/fpm/Dockerfile b/8.1/buster/fpm/Dockerfile index bddcdda57..df8feec93 100644 --- a/8.1/buster/fpm/Dockerfile +++ b/8.1/buster/fpm/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -222,9 +222,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] WORKDIR /var/www/html diff --git a/8.1/buster/zts/Dockerfile b/8.1/buster/zts/Dockerfile index 65efc75d5..54d4281fb 100644 --- a/8.1/buster/zts/Dockerfile +++ b/8.1/buster/zts/Dockerfile @@ -155,7 +155,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv \ --with-openssl \ --with-readline \ --with-zlib \ @@ -223,8 +223,5 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - ENTRYPOINT ["docker-php-entrypoint"] CMD ["php", "-a"] diff --git a/Dockerfile-linux.template b/Dockerfile-linux.template index 1c42b26e7..ea4fcf9fb 100644 --- a/Dockerfile-linux.template +++ b/Dockerfile-linux.template @@ -254,6 +254,7 @@ RUN set -eux; \ "argon2-dev", "coreutils", "curl-dev", + "gnu-libiconv-dev", # https://www.php.net/manual/en/intro.iconv.php "it'd be a good idea to install the GNU libiconv library" "libsodium-dev", "libxml2-dev", "openssl-dev", @@ -285,6 +286,15 @@ RUN set -eux; \ -}} ; \ \ +{{ if is_alpine then ( -}} +# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php) + rm -vf /usr/include/iconv.h; \ +{{ if (.version | version_id) < ("8" | version_id) then ( -}} +# PHP < 8 doesn't know to look deeper for GNU libiconv: https://github.com/php/php-src/commit/b480e6841ecd5317faa136647a2b8253a4c2d0df + ln -sv /usr/include/gnu-libiconv/*.h /usr/include/; \ +{{ ) else "" end -}} + \ +{{ ) else "" end -}} export \ CFLAGS="$PHP_CFLAGS" \ CPPFLAGS="$PHP_CPPFLAGS" \ @@ -329,7 +339,7 @@ RUN set -eux; \ --with-sqlite3=/usr \ \ --with-curl \ - --with-iconv=shared \ + --with-iconv{{ if is_alpine then "=/usr" else "" end }} \ --with-openssl \ --with-readline \ --with-zlib \ @@ -440,9 +450,6 @@ COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/ # sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598) RUN docker-php-ext-enable sodium -# iconv was built as a shared module (so it can be disabled later if desired) -RUN docker-php-ext-enable iconv - {{ # https://github.com/docker-library/php/issues/865 # https://bugs.php.net/bug.php?id=76324