diff --git a/Dockerfile.template b/Dockerfile.template index 232c84cd56..f1bd4d4ece 100644 --- a/Dockerfile.template +++ b/Dockerfile.template @@ -88,13 +88,19 @@ RUN set -ex; \ mysqli \ zip \ ; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie {{ .pie.url | @sh }}; \ + echo '{{ .pie.sha256 }} */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ {{ if is_alpine then ( -}} # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328 {{ ) else "" end -}} -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/beta/php8.2/apache/Dockerfile b/beta/php8.2/apache/Dockerfile index 4eb7395d66..109089b3b3 100644 --- a/beta/php8.2/apache/Dockerfile +++ b/beta/php8.2/apache/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/beta/php8.2/fpm-alpine/Dockerfile b/beta/php8.2/fpm-alpine/Dockerfile index 83c99b1c44..7d9603821a 100644 --- a/beta/php8.2/fpm-alpine/Dockerfile +++ b/beta/php8.2/fpm-alpine/Dockerfile @@ -46,11 +46,17 @@ RUN set -ex; \ mysqli \ zip \ ; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328 -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/beta/php8.2/fpm/Dockerfile b/beta/php8.2/fpm/Dockerfile index 304716fd28..e200578119 100644 --- a/beta/php8.2/fpm/Dockerfile +++ b/beta/php8.2/fpm/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/beta/php8.3/apache/Dockerfile b/beta/php8.3/apache/Dockerfile index 27ab91c79b..98dab05791 100644 --- a/beta/php8.3/apache/Dockerfile +++ b/beta/php8.3/apache/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/beta/php8.3/fpm-alpine/Dockerfile b/beta/php8.3/fpm-alpine/Dockerfile index c50ba4cd9d..63e2bf2af5 100644 --- a/beta/php8.3/fpm-alpine/Dockerfile +++ b/beta/php8.3/fpm-alpine/Dockerfile @@ -46,11 +46,17 @@ RUN set -ex; \ mysqli \ zip \ ; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328 -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/beta/php8.3/fpm/Dockerfile b/beta/php8.3/fpm/Dockerfile index 47d3612872..80fba8825a 100644 --- a/beta/php8.3/fpm/Dockerfile +++ b/beta/php8.3/fpm/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/beta/php8.4/apache/Dockerfile b/beta/php8.4/apache/Dockerfile index 01a0842048..13c3b39b08 100644 --- a/beta/php8.4/apache/Dockerfile +++ b/beta/php8.4/apache/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/beta/php8.4/fpm-alpine/Dockerfile b/beta/php8.4/fpm-alpine/Dockerfile index 9ff8ed76fc..928f8e2e05 100644 --- a/beta/php8.4/fpm-alpine/Dockerfile +++ b/beta/php8.4/fpm-alpine/Dockerfile @@ -46,11 +46,17 @@ RUN set -ex; \ mysqli \ zip \ ; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328 -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/beta/php8.4/fpm/Dockerfile b/beta/php8.4/fpm/Dockerfile index 13fbe4dd60..7fb86bd6fa 100644 --- a/beta/php8.4/fpm/Dockerfile +++ b/beta/php8.4/fpm/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/beta/php8.5/apache/Dockerfile b/beta/php8.5/apache/Dockerfile index 3c366cdc79..f08db34540 100644 --- a/beta/php8.5/apache/Dockerfile +++ b/beta/php8.5/apache/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/beta/php8.5/fpm-alpine/Dockerfile b/beta/php8.5/fpm-alpine/Dockerfile index 452bd6c07f..d3f4113b67 100644 --- a/beta/php8.5/fpm-alpine/Dockerfile +++ b/beta/php8.5/fpm-alpine/Dockerfile @@ -46,11 +46,17 @@ RUN set -ex; \ mysqli \ zip \ ; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328 -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/beta/php8.5/fpm/Dockerfile b/beta/php8.5/fpm/Dockerfile index 4a17394f79..4f04192116 100644 --- a/beta/php8.5/fpm/Dockerfile +++ b/beta/php8.5/fpm/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/cli/php8.2/alpine/Dockerfile b/cli/php8.2/alpine/Dockerfile index cda8c98249..29e5be5e17 100644 --- a/cli/php8.2/alpine/Dockerfile +++ b/cli/php8.2/alpine/Dockerfile @@ -47,11 +47,17 @@ RUN set -ex; \ mysqli \ zip \ ; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328 -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/cli/php8.3/alpine/Dockerfile b/cli/php8.3/alpine/Dockerfile index 31fa8dfd09..b532809dfa 100644 --- a/cli/php8.3/alpine/Dockerfile +++ b/cli/php8.3/alpine/Dockerfile @@ -47,11 +47,17 @@ RUN set -ex; \ mysqli \ zip \ ; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328 -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/cli/php8.4/alpine/Dockerfile b/cli/php8.4/alpine/Dockerfile index c7948b406a..f056a2b5c6 100644 --- a/cli/php8.4/alpine/Dockerfile +++ b/cli/php8.4/alpine/Dockerfile @@ -47,11 +47,17 @@ RUN set -ex; \ mysqli \ zip \ ; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328 -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/cli/php8.5/alpine/Dockerfile b/cli/php8.5/alpine/Dockerfile index 147f4bd8a5..69f4e59a85 100644 --- a/cli/php8.5/alpine/Dockerfile +++ b/cli/php8.5/alpine/Dockerfile @@ -47,11 +47,17 @@ RUN set -ex; \ mysqli \ zip \ ; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328 -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/latest/php8.2/apache/Dockerfile b/latest/php8.2/apache/Dockerfile index 24fc5f7260..3c0bb2ad27 100644 --- a/latest/php8.2/apache/Dockerfile +++ b/latest/php8.2/apache/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/latest/php8.2/fpm-alpine/Dockerfile b/latest/php8.2/fpm-alpine/Dockerfile index 4dca5c1801..d1f97bd9ae 100644 --- a/latest/php8.2/fpm-alpine/Dockerfile +++ b/latest/php8.2/fpm-alpine/Dockerfile @@ -46,11 +46,17 @@ RUN set -ex; \ mysqli \ zip \ ; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328 -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/latest/php8.2/fpm/Dockerfile b/latest/php8.2/fpm/Dockerfile index 72d8f1bcc7..a0dab58c79 100644 --- a/latest/php8.2/fpm/Dockerfile +++ b/latest/php8.2/fpm/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/latest/php8.3/apache/Dockerfile b/latest/php8.3/apache/Dockerfile index 5579d0e1ba..9cd0b4a63f 100644 --- a/latest/php8.3/apache/Dockerfile +++ b/latest/php8.3/apache/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/latest/php8.3/fpm-alpine/Dockerfile b/latest/php8.3/fpm-alpine/Dockerfile index b7f386653f..be3d6ea4dd 100644 --- a/latest/php8.3/fpm-alpine/Dockerfile +++ b/latest/php8.3/fpm-alpine/Dockerfile @@ -46,11 +46,17 @@ RUN set -ex; \ mysqli \ zip \ ; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328 -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/latest/php8.3/fpm/Dockerfile b/latest/php8.3/fpm/Dockerfile index dd7105eac1..788f2bf075 100644 --- a/latest/php8.3/fpm/Dockerfile +++ b/latest/php8.3/fpm/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/latest/php8.4/apache/Dockerfile b/latest/php8.4/apache/Dockerfile index a3d23979ba..573551bc09 100644 --- a/latest/php8.4/apache/Dockerfile +++ b/latest/php8.4/apache/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/latest/php8.4/fpm-alpine/Dockerfile b/latest/php8.4/fpm-alpine/Dockerfile index d684dc3ff4..4b7216e55e 100644 --- a/latest/php8.4/fpm-alpine/Dockerfile +++ b/latest/php8.4/fpm-alpine/Dockerfile @@ -46,11 +46,17 @@ RUN set -ex; \ mysqli \ zip \ ; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328 -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/latest/php8.4/fpm/Dockerfile b/latest/php8.4/fpm/Dockerfile index a108a3a26e..362d74f4f8 100644 --- a/latest/php8.4/fpm/Dockerfile +++ b/latest/php8.4/fpm/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/latest/php8.5/apache/Dockerfile b/latest/php8.5/apache/Dockerfile index 17fcc91c83..fb6f99578a 100644 --- a/latest/php8.5/apache/Dockerfile +++ b/latest/php8.5/apache/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/latest/php8.5/fpm-alpine/Dockerfile b/latest/php8.5/fpm-alpine/Dockerfile index a41a82cf31..210d264bf8 100644 --- a/latest/php8.5/fpm-alpine/Dockerfile +++ b/latest/php8.5/fpm-alpine/Dockerfile @@ -46,11 +46,17 @@ RUN set -ex; \ mysqli \ zip \ ; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328 -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/latest/php8.5/fpm/Dockerfile b/latest/php8.5/fpm/Dockerfile index b7dd299d3d..3fbd1cccb7 100644 --- a/latest/php8.5/fpm/Dockerfile +++ b/latest/php8.5/fpm/Dockerfile @@ -50,10 +50,16 @@ RUN set -ex; \ mysqli \ zip \ ; \ -# https://pecl.php.net/package/imagick - pecl install imagick-3.8.1; \ - docker-php-ext-enable imagick; \ - rm -r /tmp/pear; \ + \ +# install pie to install imagick + PIE_WORKING_DIRECTORY="$(mktemp -d)"; export PIE_WORKING_DIRECTORY; \ + curl -fsSL -o /usr/local/bin/pie 'https://github.com/php/pie/releases/download/1.3.9/pie.phar'; \ + echo 'b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57 */usr/local/bin/pie' | sha256sum -c; \ + chmod +x /usr/local/bin/pie; \ +# https://packagist.org/packages/imagick/imagick + pie install imagick/imagick:3.8.1; \ +# remove pie and cleanup cruft + rm -r /usr/local/bin/pie "$PIE_WORKING_DIRECTORY" /root/.composer; \ \ # some misbehaving extensions end up outputting to stdout 🙈 (https://github.com/docker-library/wordpress/issues/669#issuecomment-993945967) out="$(php -r 'exit(0);')"; \ diff --git a/versions.json b/versions.json index 020e3fe8df..5f0a1526b6 100644 --- a/versions.json +++ b/versions.json @@ -6,6 +6,11 @@ "8.4", "8.5" ], + "pie": { + "sha256": "b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57", + "url": "https://github.com/php/pie/releases/download/1.3.9/pie.phar", + "version": "1.3.9" + }, "sha1": "ba5b170b627cae0a73939bc1b03978a738906b82", "upstream": "7.0-beta5", "variants": [ @@ -22,6 +27,11 @@ "8.4", "8.5" ], + "pie": { + "sha256": "b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57", + "url": "https://github.com/php/pie/releases/download/1.3.9/pie.phar", + "version": "1.3.9" + }, "sha512": "be928f6b8ca1e8dfb9d2f4b75a13aa4aee0896f8a9a0a1c45cd5d2c98605e6172e6d014dda2e27f88c98befc16c040cbb2bd1bfa121510ea5cdf5f6a30fe8832", "variants": [ "alpine" @@ -35,6 +45,11 @@ "8.4", "8.5" ], + "pie": { + "sha256": "b36a28d67e78a0ae3f9ae3329d0dacacd19f1b4bbaf31f057d45446329833e57", + "url": "https://github.com/php/pie/releases/download/1.3.9/pie.phar", + "version": "1.3.9" + }, "sha1": "018542f4c3e15db0d8e38aaf0fcf1b5dc56dbb79", "upstream": "6.9.4", "variants": [ diff --git a/versions.sh b/versions.sh index a88cc3b430..c5058ec38a 100755 --- a/versions.sh +++ b/versions.sh @@ -12,6 +12,21 @@ else fi versions=( "${versions[@]%/}" ) +# get latest version of pie for installing extensions (like imagick) +pie="$( + curl -fsSL -H 'Accept: application/vnd.github+json' -H 'X-GitHub-Api-Version: 2026-03-10' 'https://api.github.com/repos/php/pie/releases/latest' \ + | jq -c ' + ([.assets[] | select(.name == "pie.phar")][0]) as $pie + | { + pie: { + version: .tag_name, + url: $pie.browser_download_url, + sha256: ($pie.digest | ltrimstr("sha256:")) + }, + } + ' +)" + for version in "${versions[@]}"; do export version @@ -55,7 +70,7 @@ for version in "${versions[@]}"; do export fullVersion json="$( - jq <<<"$json" -c --argjson doc "$doc" ' + jq <<<"$json" -c --argjson doc "$doc" --argjson pie "$pie" ' .[env.version] = { version: env.fullVersion, phpVersions: [ "8.2", "8.3", "8.4", "8.5" ], @@ -66,7 +81,7 @@ for version in "${versions[@]}"; do [ "apache", "fpm", "fpm-alpine" ] end ), - } + $doc + } + $doc + $pie ' )" done