Skip to content

Conversation

@tianon
Copy link
Member

@tianon tianon commented Mar 13, 2025

Changes:

Changes:

- docker-library/wordpress@bfb6380: Merge pull request docker-library/wordpress#932 from thueske/feature/add-php-84
- docker-library/wordpress@89a9728: Add PHP 8.4 support
@tianon tianon requested a review from a team as a code owner March 13, 2025 23:54
@github-actions
Copy link

Diff for 0ab43f0:
diff --git a/_bashbrew-cat b/_bashbrew-cat
index cf6fe6a..845af96 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -46,6 +46,21 @@ Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
 GitCommit: 470084224c4a2b4f0c2e19da2af9ab96298739e4
 Directory: latest/php8.3/fpm-alpine
 
+Tags: 6.7.2-php8.4-apache, 6.7-php8.4-apache, 6-php8.4-apache, php8.4-apache, 6.7.2-php8.4, 6.7-php8.4, 6-php8.4, php8.4
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
+GitCommit: 89a9728770fd81577a2408254aa007943733152f
+Directory: latest/php8.4/apache
+
+Tags: 6.7.2-php8.4-fpm, 6.7-php8.4-fpm, 6-php8.4-fpm, php8.4-fpm
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
+GitCommit: 89a9728770fd81577a2408254aa007943733152f
+Directory: latest/php8.4/fpm
+
+Tags: 6.7.2-php8.4-fpm-alpine, 6.7-php8.4-fpm-alpine, 6-php8.4-fpm-alpine, php8.4-fpm-alpine
+Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 89a9728770fd81577a2408254aa007943733152f
+Directory: latest/php8.4/fpm-alpine
+
 Tags: beta-6.8-beta2-apache, beta-6.8-apache, beta-6-apache, beta-apache, beta-6.8-beta2, beta-6.8, beta-6, beta, beta-6.8-beta2-php8.2-apache, beta-6.8-php8.2-apache, beta-6-php8.2-apache, beta-php8.2-apache, beta-6.8-beta2-php8.2, beta-6.8-php8.2, beta-6-php8.2, beta-php8.2
 Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
 GitCommit: 980d05f3e7497deb18965eac8f2a523fbef2e4c8
@@ -91,6 +106,21 @@ Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
 GitCommit: 980d05f3e7497deb18965eac8f2a523fbef2e4c8
 Directory: beta/php8.3/fpm-alpine
 
+Tags: beta-6.8-beta2-php8.4-apache, beta-6.8-php8.4-apache, beta-6-php8.4-apache, beta-php8.4-apache, beta-6.8-beta2-php8.4, beta-6.8-php8.4, beta-6-php8.4, beta-php8.4
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
+GitCommit: 89a9728770fd81577a2408254aa007943733152f
+Directory: beta/php8.4/apache
+
+Tags: beta-6.8-beta2-php8.4-fpm, beta-6.8-php8.4-fpm, beta-6-php8.4-fpm, beta-php8.4-fpm
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
+GitCommit: 89a9728770fd81577a2408254aa007943733152f
+Directory: beta/php8.4/fpm
+
+Tags: beta-6.8-beta2-php8.4-fpm-alpine, beta-6.8-php8.4-fpm-alpine, beta-6-php8.4-fpm-alpine, beta-php8.4-fpm-alpine
+Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 89a9728770fd81577a2408254aa007943733152f
+Directory: beta/php8.4/fpm-alpine
+
 Tags: cli-2.11.0, cli-2.11, cli-2, cli, cli-2.11.0-php8.2, cli-2.11-php8.2, cli-2-php8.2, cli-php8.2
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
 GitCommit: aa3c30f8c0a6a5ba0e1b26f73be802dfc8f18e4f
@@ -105,3 +135,8 @@ Tags: cli-2.11.0-php8.3, cli-2.11-php8.3, cli-2-php8.3, cli-php8.3
 Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
 GitCommit: aa3c30f8c0a6a5ba0e1b26f73be802dfc8f18e4f
 Directory: cli/php8.3/alpine
+
+Tags: cli-2.11.0-php8.4, cli-2.11-php8.4, cli-2-php8.4, cli-php8.4
+Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 89a9728770fd81577a2408254aa007943733152f
+Directory: cli/php8.4/alpine
diff --git a/_bashbrew-list b/_bashbrew-list
index c6aa465..02515fa 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -14,6 +14,10 @@ wordpress:6-php8.3
 wordpress:6-php8.3-apache
 wordpress:6-php8.3-fpm
 wordpress:6-php8.3-fpm-alpine
+wordpress:6-php8.4
+wordpress:6-php8.4-apache
+wordpress:6-php8.4-fpm
+wordpress:6-php8.4-fpm-alpine
 wordpress:6.7
 wordpress:6.7-apache
 wordpress:6.7-fpm
@@ -30,6 +34,10 @@ wordpress:6.7-php8.3
 wordpress:6.7-php8.3-apache
 wordpress:6.7-php8.3-fpm
 wordpress:6.7-php8.3-fpm-alpine
+wordpress:6.7-php8.4
+wordpress:6.7-php8.4-apache
+wordpress:6.7-php8.4-fpm
+wordpress:6.7-php8.4-fpm-alpine
 wordpress:6.7.2
 wordpress:6.7.2-apache
 wordpress:6.7.2-fpm
@@ -46,6 +54,10 @@ wordpress:6.7.2-php8.3
 wordpress:6.7.2-php8.3-apache
 wordpress:6.7.2-php8.3-fpm
 wordpress:6.7.2-php8.3-fpm-alpine
+wordpress:6.7.2-php8.4
+wordpress:6.7.2-php8.4-apache
+wordpress:6.7.2-php8.4-fpm
+wordpress:6.7.2-php8.4-fpm-alpine
 wordpress:apache
 wordpress:beta
 wordpress:beta-6
@@ -64,6 +76,10 @@ wordpress:beta-6-php8.3
 wordpress:beta-6-php8.3-apache
 wordpress:beta-6-php8.3-fpm
 wordpress:beta-6-php8.3-fpm-alpine
+wordpress:beta-6-php8.4
+wordpress:beta-6-php8.4-apache
+wordpress:beta-6-php8.4-fpm
+wordpress:beta-6-php8.4-fpm-alpine
 wordpress:beta-6.8
 wordpress:beta-6.8-apache
 wordpress:beta-6.8-beta2
@@ -82,6 +98,10 @@ wordpress:beta-6.8-beta2-php8.3
 wordpress:beta-6.8-beta2-php8.3-apache
 wordpress:beta-6.8-beta2-php8.3-fpm
 wordpress:beta-6.8-beta2-php8.3-fpm-alpine
+wordpress:beta-6.8-beta2-php8.4
+wordpress:beta-6.8-beta2-php8.4-apache
+wordpress:beta-6.8-beta2-php8.4-fpm
+wordpress:beta-6.8-beta2-php8.4-fpm-alpine
 wordpress:beta-6.8-fpm
 wordpress:beta-6.8-fpm-alpine
 wordpress:beta-6.8-php8.1
@@ -96,6 +116,10 @@ wordpress:beta-6.8-php8.3
 wordpress:beta-6.8-php8.3-apache
 wordpress:beta-6.8-php8.3-fpm
 wordpress:beta-6.8-php8.3-fpm-alpine
+wordpress:beta-6.8-php8.4
+wordpress:beta-6.8-php8.4-apache
+wordpress:beta-6.8-php8.4-fpm
+wordpress:beta-6.8-php8.4-fpm-alpine
 wordpress:beta-apache
 wordpress:beta-fpm
 wordpress:beta-fpm-alpine
@@ -111,22 +135,30 @@ wordpress:beta-php8.3
 wordpress:beta-php8.3-apache
 wordpress:beta-php8.3-fpm
 wordpress:beta-php8.3-fpm-alpine
+wordpress:beta-php8.4
+wordpress:beta-php8.4-apache
+wordpress:beta-php8.4-fpm
+wordpress:beta-php8.4-fpm-alpine
 wordpress:cli
 wordpress:cli-2
 wordpress:cli-2-php8.1
 wordpress:cli-2-php8.2
 wordpress:cli-2-php8.3
+wordpress:cli-2-php8.4
 wordpress:cli-2.11
 wordpress:cli-2.11-php8.1
 wordpress:cli-2.11-php8.2
 wordpress:cli-2.11-php8.3
+wordpress:cli-2.11-php8.4
 wordpress:cli-2.11.0
 wordpress:cli-2.11.0-php8.1
 wordpress:cli-2.11.0-php8.2
 wordpress:cli-2.11.0-php8.3
+wordpress:cli-2.11.0-php8.4
 wordpress:cli-php8.1
 wordpress:cli-php8.2
 wordpress:cli-php8.3
+wordpress:cli-php8.4
 wordpress:fpm
 wordpress:fpm-alpine
 wordpress:latest
@@ -142,3 +174,7 @@ wordpress:php8.3
 wordpress:php8.3-apache
 wordpress:php8.3-fpm
 wordpress:php8.3-fpm-alpine
+wordpress:php8.4
+wordpress:php8.4-apache
+wordpress:php8.4-fpm
+wordpress:php8.4-fpm-alpine
diff --git a/_bashbrew-list-build-order b/_bashbrew-list-build-order
index 0b14866..33d8bd9 100644
--- a/_bashbrew-list-build-order
+++ b/_bashbrew-list-build-order
@@ -7,9 +7,13 @@ wordpress:beta-php8.2-fpm-alpine
 wordpress:beta-php8.3
 wordpress:beta-php8.3-fpm
 wordpress:beta-php8.3-fpm-alpine
+wordpress:beta-php8.4
+wordpress:beta-php8.4-fpm
+wordpress:beta-php8.4-fpm-alpine
 wordpress:cli-php8.1
 wordpress:cli-php8.2
 wordpress:cli-php8.3
+wordpress:cli-php8.4
 wordpress:php8.1
 wordpress:php8.1-fpm
 wordpress:php8.1-fpm-alpine
@@ -19,3 +23,6 @@ wordpress:php8.2-fpm-alpine
 wordpress:php8.3
 wordpress:php8.3-fpm
 wordpress:php8.3-fpm-alpine
+wordpress:php8.4
+wordpress:php8.4-fpm
+wordpress:php8.4-fpm-alpine
diff --git a/wordpress_beta-php8.1-fpm-alpine/Dockerfile b/wordpress_beta-php8.4-fpm-alpine/Dockerfile
similarity index 83%
copy from wordpress_beta-php8.1-fpm-alpine/Dockerfile
copy to wordpress_beta-php8.4-fpm-alpine/Dockerfile
index 5d925ac..4081c6a 100644
--- a/wordpress_beta-php8.1-fpm-alpine/Dockerfile
+++ b/wordpress_beta-php8.4-fpm-alpine/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM php:8.1-fpm-alpine
+FROM php:8.4-fpm-alpine
 
 # persistent dependencies
 RUN set -eux; \
@@ -48,18 +48,10 @@ RUN set -ex; \
 	; \
 # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328
 # https://pecl.php.net/package/imagick
-# https://github.com/Imagick/imagick/commit/5ae2ecf20a1157073bad0170106ad0cf74e01cb6 (causes a lot of build failures, but strangely only intermittent ones 🤔)
-# see also https://github.com/Imagick/imagick/pull/641
-# this is "pecl install imagick-3.7.0", but by hand so we can apply a small hack / part of the above commit
-	curl -fL -o imagick.tgz 'https://pecl.php.net/get/imagick-3.7.0.tgz'; \
-	echo '5a364354109029d224bcbb2e82e15b248be9b641227f45e63425c06531792d3e *imagick.tgz' | sha256sum -c -; \
-	tar --extract --directory /tmp --file imagick.tgz imagick-3.7.0; \
-	grep '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php; \
-	test "$(grep -c '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php)" = '1'; \
-	sed -i -e 's!^//#endif$!#endif!' /tmp/imagick-3.7.0/Imagick.stub.php; \
-	grep '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php && exit 1 || :; \
-	docker-php-ext-install /tmp/imagick-3.7.0; \
-	rm -rf imagick.tgz /tmp/imagick-3.7.0; \
+# RC for PHP 8.4 because of https://github.com/Imagick/imagick/issues/689
+	pecl install imagick-3.8.0RC2; \
+	docker-php-ext-enable imagick; \
+	rm -r /tmp/pear; \
 	\
 # 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/wordpress_beta-php8.1-fpm-alpine/docker-entrypoint.sh b/wordpress_beta-php8.4-fpm-alpine/docker-entrypoint.sh
similarity index 100%
copy from wordpress_beta-php8.1-fpm-alpine/docker-entrypoint.sh
copy to wordpress_beta-php8.4-fpm-alpine/docker-entrypoint.sh
diff --git a/wordpress_beta-php8.1-fpm-alpine/wp-config-docker.php b/wordpress_beta-php8.4-fpm-alpine/wp-config-docker.php
similarity index 100%
copy from wordpress_beta-php8.1-fpm-alpine/wp-config-docker.php
copy to wordpress_beta-php8.4-fpm-alpine/wp-config-docker.php
diff --git a/wordpress_beta-php8.2-fpm/Dockerfile b/wordpress_beta-php8.4-fpm/Dockerfile
similarity index 83%
copy from wordpress_beta-php8.2-fpm/Dockerfile
copy to wordpress_beta-php8.4-fpm/Dockerfile
index d6a06f4..8cc3cb3 100644
--- a/wordpress_beta-php8.2-fpm/Dockerfile
+++ b/wordpress_beta-php8.4-fpm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM php:8.2-fpm
+FROM php:8.4-fpm
 
 # persistent dependencies
 RUN set -eux; \
@@ -47,18 +47,10 @@ RUN set -ex; \
 		zip \
 	; \
 # https://pecl.php.net/package/imagick
-# https://github.com/Imagick/imagick/commit/5ae2ecf20a1157073bad0170106ad0cf74e01cb6 (causes a lot of build failures, but strangely only intermittent ones 🤔)
-# see also https://github.com/Imagick/imagick/pull/641
-# this is "pecl install imagick-3.7.0", but by hand so we can apply a small hack / part of the above commit
-	curl -fL -o imagick.tgz 'https://pecl.php.net/get/imagick-3.7.0.tgz'; \
-	echo '5a364354109029d224bcbb2e82e15b248be9b641227f45e63425c06531792d3e *imagick.tgz' | sha256sum -c -; \
-	tar --extract --directory /tmp --file imagick.tgz imagick-3.7.0; \
-	grep '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php; \
-	test "$(grep -c '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php)" = '1'; \
-	sed -i -e 's!^//#endif$!#endif!' /tmp/imagick-3.7.0/Imagick.stub.php; \
-	grep '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php && exit 1 || :; \
-	docker-php-ext-install /tmp/imagick-3.7.0; \
-	rm -rf imagick.tgz /tmp/imagick-3.7.0; \
+# RC for PHP 8.4 because of https://github.com/Imagick/imagick/issues/689
+	pecl install imagick-3.8.0RC2; \
+	docker-php-ext-enable imagick; \
+	rm -r /tmp/pear; \
 	\
 # 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/wordpress_beta-php8.1-fpm-alpine/docker-entrypoint.sh b/wordpress_beta-php8.4-fpm/docker-entrypoint.sh
similarity index 100%
copy from wordpress_beta-php8.1-fpm-alpine/docker-entrypoint.sh
copy to wordpress_beta-php8.4-fpm/docker-entrypoint.sh
diff --git a/wordpress_beta-php8.1-fpm-alpine/wp-config-docker.php b/wordpress_beta-php8.4-fpm/wp-config-docker.php
similarity index 100%
copy from wordpress_beta-php8.1-fpm-alpine/wp-config-docker.php
copy to wordpress_beta-php8.4-fpm/wp-config-docker.php
diff --git a/wordpress_beta-php8.3/Dockerfile b/wordpress_beta-php8.4/Dockerfile
similarity index 85%
copy from wordpress_beta-php8.3/Dockerfile
copy to wordpress_beta-php8.4/Dockerfile
index 3ecd14c..fd747b6 100644
--- a/wordpress_beta-php8.3/Dockerfile
+++ b/wordpress_beta-php8.4/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM php:8.3-apache
+FROM php:8.4-apache
 
 # persistent dependencies
 RUN set -eux; \
@@ -47,18 +47,10 @@ RUN set -ex; \
 		zip \
 	; \
 # https://pecl.php.net/package/imagick
-# https://github.com/Imagick/imagick/commit/5ae2ecf20a1157073bad0170106ad0cf74e01cb6 (causes a lot of build failures, but strangely only intermittent ones 🤔)
-# see also https://github.com/Imagick/imagick/pull/641
-# this is "pecl install imagick-3.7.0", but by hand so we can apply a small hack / part of the above commit
-	curl -fL -o imagick.tgz 'https://pecl.php.net/get/imagick-3.7.0.tgz'; \
-	echo '5a364354109029d224bcbb2e82e15b248be9b641227f45e63425c06531792d3e *imagick.tgz' | sha256sum -c -; \
-	tar --extract --directory /tmp --file imagick.tgz imagick-3.7.0; \
-	grep '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php; \
-	test "$(grep -c '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php)" = '1'; \
-	sed -i -e 's!^//#endif$!#endif!' /tmp/imagick-3.7.0/Imagick.stub.php; \
-	grep '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php && exit 1 || :; \
-	docker-php-ext-install /tmp/imagick-3.7.0; \
-	rm -rf imagick.tgz /tmp/imagick-3.7.0; \
+# RC for PHP 8.4 because of https://github.com/Imagick/imagick/issues/689
+	pecl install imagick-3.8.0RC2; \
+	docker-php-ext-enable imagick; \
+	rm -r /tmp/pear; \
 	\
 # 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/wordpress_beta-php8.1-fpm-alpine/docker-entrypoint.sh b/wordpress_beta-php8.4/docker-entrypoint.sh
similarity index 100%
copy from wordpress_beta-php8.1-fpm-alpine/docker-entrypoint.sh
copy to wordpress_beta-php8.4/docker-entrypoint.sh
diff --git a/wordpress_beta-php8.1-fpm-alpine/wp-config-docker.php b/wordpress_beta-php8.4/wp-config-docker.php
similarity index 100%
copy from wordpress_beta-php8.1-fpm-alpine/wp-config-docker.php
copy to wordpress_beta-php8.4/wp-config-docker.php
diff --git a/wordpress_cli-php8.2/Dockerfile b/wordpress_cli-php8.4/Dockerfile
similarity index 81%
copy from wordpress_cli-php8.2/Dockerfile
copy to wordpress_cli-php8.4/Dockerfile
index 1bd85cf..cc9ed5d 100644
--- a/wordpress_cli-php8.2/Dockerfile
+++ b/wordpress_cli-php8.4/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM php:8.2-alpine
+FROM php:8.4-alpine
 
 # install wp-cli dependencies
 RUN apk add --no-cache \
@@ -49,18 +49,10 @@ RUN set -ex; \
 	; \
 # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328
 # https://pecl.php.net/package/imagick
-# https://github.com/Imagick/imagick/commit/5ae2ecf20a1157073bad0170106ad0cf74e01cb6 (causes a lot of build failures, but strangely only intermittent ones 🤔)
-# see also https://github.com/Imagick/imagick/pull/641
-# this is "pecl install imagick-3.7.0", but by hand so we can apply a small hack / part of the above commit
-	curl -fL -o imagick.tgz 'https://pecl.php.net/get/imagick-3.7.0.tgz'; \
-	echo '5a364354109029d224bcbb2e82e15b248be9b641227f45e63425c06531792d3e *imagick.tgz' | sha256sum -c -; \
-	tar --extract --directory /tmp --file imagick.tgz imagick-3.7.0; \
-	grep '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php; \
-	test "$(grep -c '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php)" = '1'; \
-	sed -i -e 's!^//#endif$!#endif!' /tmp/imagick-3.7.0/Imagick.stub.php; \
-	grep '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php && exit 1 || :; \
-	docker-php-ext-install /tmp/imagick-3.7.0; \
-	rm -rf imagick.tgz /tmp/imagick-3.7.0; \
+# RC for PHP 8.4 because of https://github.com/Imagick/imagick/issues/689
+	pecl install imagick-3.8.0RC2; \
+	docker-php-ext-enable imagick; \
+	rm -r /tmp/pear; \
 	\
 # 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/wordpress_cli-php8.1/docker-entrypoint.sh b/wordpress_cli-php8.4/docker-entrypoint.sh
similarity index 100%
copy from wordpress_cli-php8.1/docker-entrypoint.sh
copy to wordpress_cli-php8.4/docker-entrypoint.sh
diff --git a/wordpress_php8.2-fpm-alpine/Dockerfile b/wordpress_php8.4-fpm-alpine/Dockerfile
similarity index 83%
copy from wordpress_php8.2-fpm-alpine/Dockerfile
copy to wordpress_php8.4-fpm-alpine/Dockerfile
index 0045c55..da2d759 100644
--- a/wordpress_php8.2-fpm-alpine/Dockerfile
+++ b/wordpress_php8.4-fpm-alpine/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM php:8.2-fpm-alpine
+FROM php:8.4-fpm-alpine
 
 # persistent dependencies
 RUN set -eux; \
@@ -48,18 +48,10 @@ RUN set -ex; \
 	; \
 # WARNING: imagick is likely not supported on Alpine: https://github.com/Imagick/imagick/issues/328
 # https://pecl.php.net/package/imagick
-# https://github.com/Imagick/imagick/commit/5ae2ecf20a1157073bad0170106ad0cf74e01cb6 (causes a lot of build failures, but strangely only intermittent ones 🤔)
-# see also https://github.com/Imagick/imagick/pull/641
-# this is "pecl install imagick-3.7.0", but by hand so we can apply a small hack / part of the above commit
-	curl -fL -o imagick.tgz 'https://pecl.php.net/get/imagick-3.7.0.tgz'; \
-	echo '5a364354109029d224bcbb2e82e15b248be9b641227f45e63425c06531792d3e *imagick.tgz' | sha256sum -c -; \
-	tar --extract --directory /tmp --file imagick.tgz imagick-3.7.0; \
-	grep '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php; \
-	test "$(grep -c '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php)" = '1'; \
-	sed -i -e 's!^//#endif$!#endif!' /tmp/imagick-3.7.0/Imagick.stub.php; \
-	grep '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php && exit 1 || :; \
-	docker-php-ext-install /tmp/imagick-3.7.0; \
-	rm -rf imagick.tgz /tmp/imagick-3.7.0; \
+# RC for PHP 8.4 because of https://github.com/Imagick/imagick/issues/689
+	pecl install imagick-3.8.0RC2; \
+	docker-php-ext-enable imagick; \
+	rm -r /tmp/pear; \
 	\
 # 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/wordpress_beta-php8.1-fpm-alpine/docker-entrypoint.sh b/wordpress_php8.4-fpm-alpine/docker-entrypoint.sh
similarity index 100%
copy from wordpress_beta-php8.1-fpm-alpine/docker-entrypoint.sh
copy to wordpress_php8.4-fpm-alpine/docker-entrypoint.sh
diff --git a/wordpress_beta-php8.1-fpm-alpine/wp-config-docker.php b/wordpress_php8.4-fpm-alpine/wp-config-docker.php
similarity index 100%
copy from wordpress_beta-php8.1-fpm-alpine/wp-config-docker.php
copy to wordpress_php8.4-fpm-alpine/wp-config-docker.php
diff --git a/wordpress_php8.2-fpm/Dockerfile b/wordpress_php8.4-fpm/Dockerfile
similarity index 83%
copy from wordpress_php8.2-fpm/Dockerfile
copy to wordpress_php8.4-fpm/Dockerfile
index f1e0201..81660cb 100644
--- a/wordpress_php8.2-fpm/Dockerfile
+++ b/wordpress_php8.4-fpm/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM php:8.2-fpm
+FROM php:8.4-fpm
 
 # persistent dependencies
 RUN set -eux; \
@@ -47,18 +47,10 @@ RUN set -ex; \
 		zip \
 	; \
 # https://pecl.php.net/package/imagick
-# https://github.com/Imagick/imagick/commit/5ae2ecf20a1157073bad0170106ad0cf74e01cb6 (causes a lot of build failures, but strangely only intermittent ones 🤔)
-# see also https://github.com/Imagick/imagick/pull/641
-# this is "pecl install imagick-3.7.0", but by hand so we can apply a small hack / part of the above commit
-	curl -fL -o imagick.tgz 'https://pecl.php.net/get/imagick-3.7.0.tgz'; \
-	echo '5a364354109029d224bcbb2e82e15b248be9b641227f45e63425c06531792d3e *imagick.tgz' | sha256sum -c -; \
-	tar --extract --directory /tmp --file imagick.tgz imagick-3.7.0; \
-	grep '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php; \
-	test "$(grep -c '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php)" = '1'; \
-	sed -i -e 's!^//#endif$!#endif!' /tmp/imagick-3.7.0/Imagick.stub.php; \
-	grep '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php && exit 1 || :; \
-	docker-php-ext-install /tmp/imagick-3.7.0; \
-	rm -rf imagick.tgz /tmp/imagick-3.7.0; \
+# RC for PHP 8.4 because of https://github.com/Imagick/imagick/issues/689
+	pecl install imagick-3.8.0RC2; \
+	docker-php-ext-enable imagick; \
+	rm -r /tmp/pear; \
 	\
 # 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/wordpress_beta-php8.1-fpm-alpine/docker-entrypoint.sh b/wordpress_php8.4-fpm/docker-entrypoint.sh
similarity index 100%
copy from wordpress_beta-php8.1-fpm-alpine/docker-entrypoint.sh
copy to wordpress_php8.4-fpm/docker-entrypoint.sh
diff --git a/wordpress_beta-php8.1-fpm-alpine/wp-config-docker.php b/wordpress_php8.4-fpm/wp-config-docker.php
similarity index 100%
copy from wordpress_beta-php8.1-fpm-alpine/wp-config-docker.php
copy to wordpress_php8.4-fpm/wp-config-docker.php
diff --git a/wordpress_php8.2/Dockerfile b/wordpress_php8.4/Dockerfile
similarity index 85%
copy from wordpress_php8.2/Dockerfile
copy to wordpress_php8.4/Dockerfile
index f959642..b3df149 100644
--- a/wordpress_php8.2/Dockerfile
+++ b/wordpress_php8.4/Dockerfile
@@ -4,7 +4,7 @@
 # PLEASE DO NOT EDIT IT DIRECTLY.
 #
 
-FROM php:8.2-apache
+FROM php:8.4-apache
 
 # persistent dependencies
 RUN set -eux; \
@@ -47,18 +47,10 @@ RUN set -ex; \
 		zip \
 	; \
 # https://pecl.php.net/package/imagick
-# https://github.com/Imagick/imagick/commit/5ae2ecf20a1157073bad0170106ad0cf74e01cb6 (causes a lot of build failures, but strangely only intermittent ones 🤔)
-# see also https://github.com/Imagick/imagick/pull/641
-# this is "pecl install imagick-3.7.0", but by hand so we can apply a small hack / part of the above commit
-	curl -fL -o imagick.tgz 'https://pecl.php.net/get/imagick-3.7.0.tgz'; \
-	echo '5a364354109029d224bcbb2e82e15b248be9b641227f45e63425c06531792d3e *imagick.tgz' | sha256sum -c -; \
-	tar --extract --directory /tmp --file imagick.tgz imagick-3.7.0; \
-	grep '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php; \
-	test "$(grep -c '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php)" = '1'; \
-	sed -i -e 's!^//#endif$!#endif!' /tmp/imagick-3.7.0/Imagick.stub.php; \
-	grep '^//#endif$' /tmp/imagick-3.7.0/Imagick.stub.php && exit 1 || :; \
-	docker-php-ext-install /tmp/imagick-3.7.0; \
-	rm -rf imagick.tgz /tmp/imagick-3.7.0; \
+# RC for PHP 8.4 because of https://github.com/Imagick/imagick/issues/689
+	pecl install imagick-3.8.0RC2; \
+	docker-php-ext-enable imagick; \
+	rm -r /tmp/pear; \
 	\
 # 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/wordpress_beta-php8.1-fpm-alpine/docker-entrypoint.sh b/wordpress_php8.4/docker-entrypoint.sh
similarity index 100%
copy from wordpress_beta-php8.1-fpm-alpine/docker-entrypoint.sh
copy to wordpress_php8.4/docker-entrypoint.sh
diff --git a/wordpress_beta-php8.1-fpm-alpine/wp-config-docker.php b/wordpress_php8.4/wp-config-docker.php
similarity index 100%
copy from wordpress_beta-php8.1-fpm-alpine/wp-config-docker.php
copy to wordpress_php8.4/wp-config-docker.php

Relevant Maintainers:

@yosifkit yosifkit merged commit 5a2f554 into docker-library:master Mar 14, 2025
33 checks passed
@yosifkit yosifkit deleted the wordpress branch March 14, 2025 00:02
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants