-
Notifications
You must be signed in to change notification settings - Fork 2.4k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update php #17143
Merged
Merged
Update php #17143
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Changes: - docker-library/php@69f491fb: Merge pull request docker-library/php#1526 from jnoordsij/add-php8.4-rc - docker-library/php@6de7c598: Apply review nits - docker-library/php@a1dce0f8: Add pdo build batch for 8.4.0alpha1 - docker-library/php@a40f4d1a: Add PHP 8.4-rc variant - docker-library/php@9315df94: Update in preparation for first PHP 8.4 alpha release - docker-library/php@05941afc: Improve formatting on 8.3 GPG_KEYS
Diff for 1fe6fa8:diff --git a/_bashbrew-cat b/_bashbrew-cat
index 43edb4d..9bbdaf0 100644
--- a/_bashbrew-cat
+++ b/_bashbrew-cat
@@ -210,3 +210,73 @@ Tags: 8.3.9-zts-bullseye, 8.3-zts-bullseye, 8-zts-bullseye, zts-bullseye
Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
GitCommit: 21e6a92a1998c7f3157bc5df291fbd600330e33d
Directory: 8.3/bullseye/zts
+
+Tags: 8.4.0alpha1-apache-bookworm, 8.4-rc-apache-bookworm, 8.4.0alpha1-apache, 8.4-rc-apache
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
+GitCommit: 6de7c598d37fbd5fc7af21ff17d274cf1af6aeb0
+Directory: 8.4-rc/bookworm/apache
+
+Tags: 8.4.0alpha1-apache-bullseye, 8.4-rc-apache-bullseye
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
+GitCommit: 6de7c598d37fbd5fc7af21ff17d274cf1af6aeb0
+Directory: 8.4-rc/bullseye/apache
+
+Tags: 8.4.0alpha1-cli-alpine3.19, 8.4-rc-cli-alpine3.19, 8.4.0alpha1-alpine3.19, 8.4-rc-alpine3.19
+Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
+GitCommit: 6de7c598d37fbd5fc7af21ff17d274cf1af6aeb0
+Directory: 8.4-rc/alpine3.19/cli
+
+Tags: 8.4.0alpha1-cli-alpine3.20, 8.4-rc-cli-alpine3.20, 8.4.0alpha1-alpine3.20, 8.4-rc-alpine3.20, 8.4.0alpha1-cli-alpine, 8.4-rc-cli-alpine, 8.4.0alpha1-alpine, 8.4-rc-alpine
+Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 6de7c598d37fbd5fc7af21ff17d274cf1af6aeb0
+Directory: 8.4-rc/alpine3.20/cli
+
+Tags: 8.4.0alpha1-cli-bookworm, 8.4-rc-cli-bookworm, 8.4.0alpha1-bookworm, 8.4-rc-bookworm, 8.4.0alpha1-cli, 8.4-rc-cli, 8.4.0alpha1, 8.4-rc
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
+GitCommit: 6de7c598d37fbd5fc7af21ff17d274cf1af6aeb0
+Directory: 8.4-rc/bookworm/cli
+
+Tags: 8.4.0alpha1-cli-bullseye, 8.4-rc-cli-bullseye, 8.4.0alpha1-bullseye, 8.4-rc-bullseye
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
+GitCommit: 6de7c598d37fbd5fc7af21ff17d274cf1af6aeb0
+Directory: 8.4-rc/bullseye/cli
+
+Tags: 8.4.0alpha1-fpm-alpine3.19, 8.4-rc-fpm-alpine3.19
+Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
+GitCommit: 6de7c598d37fbd5fc7af21ff17d274cf1af6aeb0
+Directory: 8.4-rc/alpine3.19/fpm
+
+Tags: 8.4.0alpha1-fpm-alpine3.20, 8.4-rc-fpm-alpine3.20, 8.4.0alpha1-fpm-alpine, 8.4-rc-fpm-alpine
+Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 6de7c598d37fbd5fc7af21ff17d274cf1af6aeb0
+Directory: 8.4-rc/alpine3.20/fpm
+
+Tags: 8.4.0alpha1-fpm-bookworm, 8.4-rc-fpm-bookworm, 8.4.0alpha1-fpm, 8.4-rc-fpm
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
+GitCommit: 6de7c598d37fbd5fc7af21ff17d274cf1af6aeb0
+Directory: 8.4-rc/bookworm/fpm
+
+Tags: 8.4.0alpha1-fpm-bullseye, 8.4-rc-fpm-bullseye
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
+GitCommit: 6de7c598d37fbd5fc7af21ff17d274cf1af6aeb0
+Directory: 8.4-rc/bullseye/fpm
+
+Tags: 8.4.0alpha1-zts-alpine3.19, 8.4-rc-zts-alpine3.19
+Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, s390x
+GitCommit: 6de7c598d37fbd5fc7af21ff17d274cf1af6aeb0
+Directory: 8.4-rc/alpine3.19/zts
+
+Tags: 8.4.0alpha1-zts-alpine3.20, 8.4-rc-zts-alpine3.20, 8.4.0alpha1-zts-alpine, 8.4-rc-zts-alpine
+Architectures: amd64, arm32v6, arm32v7, arm64v8, i386, ppc64le, riscv64, s390x
+GitCommit: 6de7c598d37fbd5fc7af21ff17d274cf1af6aeb0
+Directory: 8.4-rc/alpine3.20/zts
+
+Tags: 8.4.0alpha1-zts-bookworm, 8.4-rc-zts-bookworm, 8.4.0alpha1-zts, 8.4-rc-zts
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
+GitCommit: 6de7c598d37fbd5fc7af21ff17d274cf1af6aeb0
+Directory: 8.4-rc/bookworm/zts
+
+Tags: 8.4.0alpha1-zts-bullseye, 8.4-rc-zts-bullseye
+Architectures: amd64, arm32v5, arm32v7, arm64v8, i386, mips64le, ppc64le, s390x
+GitCommit: 6de7c598d37fbd5fc7af21ff17d274cf1af6aeb0
+Directory: 8.4-rc/bullseye/zts
diff --git a/_bashbrew-list b/_bashbrew-list
index 6086595..906e728 100644
--- a/_bashbrew-list
+++ b/_bashbrew-list
@@ -187,6 +187,60 @@ php:8.3.9-zts-alpine3.19
php:8.3.9-zts-alpine3.20
php:8.3.9-zts-bookworm
php:8.3.9-zts-bullseye
+php:8.4-rc
+php:8.4-rc-alpine
+php:8.4-rc-alpine3.19
+php:8.4-rc-alpine3.20
+php:8.4-rc-apache
+php:8.4-rc-apache-bookworm
+php:8.4-rc-apache-bullseye
+php:8.4-rc-bookworm
+php:8.4-rc-bullseye
+php:8.4-rc-cli
+php:8.4-rc-cli-alpine
+php:8.4-rc-cli-alpine3.19
+php:8.4-rc-cli-alpine3.20
+php:8.4-rc-cli-bookworm
+php:8.4-rc-cli-bullseye
+php:8.4-rc-fpm
+php:8.4-rc-fpm-alpine
+php:8.4-rc-fpm-alpine3.19
+php:8.4-rc-fpm-alpine3.20
+php:8.4-rc-fpm-bookworm
+php:8.4-rc-fpm-bullseye
+php:8.4-rc-zts
+php:8.4-rc-zts-alpine
+php:8.4-rc-zts-alpine3.19
+php:8.4-rc-zts-alpine3.20
+php:8.4-rc-zts-bookworm
+php:8.4-rc-zts-bullseye
+php:8.4.0alpha1
+php:8.4.0alpha1-alpine
+php:8.4.0alpha1-alpine3.19
+php:8.4.0alpha1-alpine3.20
+php:8.4.0alpha1-apache
+php:8.4.0alpha1-apache-bookworm
+php:8.4.0alpha1-apache-bullseye
+php:8.4.0alpha1-bookworm
+php:8.4.0alpha1-bullseye
+php:8.4.0alpha1-cli
+php:8.4.0alpha1-cli-alpine
+php:8.4.0alpha1-cli-alpine3.19
+php:8.4.0alpha1-cli-alpine3.20
+php:8.4.0alpha1-cli-bookworm
+php:8.4.0alpha1-cli-bullseye
+php:8.4.0alpha1-fpm
+php:8.4.0alpha1-fpm-alpine
+php:8.4.0alpha1-fpm-alpine3.19
+php:8.4.0alpha1-fpm-alpine3.20
+php:8.4.0alpha1-fpm-bookworm
+php:8.4.0alpha1-fpm-bullseye
+php:8.4.0alpha1-zts
+php:8.4.0alpha1-zts-alpine
+php:8.4.0alpha1-zts-alpine3.19
+php:8.4.0alpha1-zts-alpine3.20
+php:8.4.0alpha1-zts-bookworm
+php:8.4.0alpha1-zts-bullseye
php:alpine
php:alpine3.19
php:alpine3.20
diff --git a/_bashbrew-list-build-order b/_bashbrew-list-build-order
index e367845..746601b 100644
--- a/_bashbrew-list-build-order
+++ b/_bashbrew-list-build-order
@@ -26,6 +26,20 @@ php:8.2-zts
php:8.2-zts-alpine
php:8.2-zts-alpine3.19
php:8.2-zts-bullseye
+php:8.4-rc
+php:8.4-rc-alpine
+php:8.4-rc-alpine3.19
+php:8.4-rc-apache
+php:8.4-rc-apache-bullseye
+php:8.4-rc-bullseye
+php:8.4-rc-fpm
+php:8.4-rc-fpm-alpine
+php:8.4-rc-fpm-alpine3.19
+php:8.4-rc-fpm-bullseye
+php:8.4-rc-zts
+php:8.4-rc-zts-alpine
+php:8.4-rc-zts-alpine3.19
+php:8.4-rc-zts-bullseye
php:alpine
php:alpine3.19
php:apache
diff --git a/php_8.1-alpine/Dockerfile b/php_8.4-rc-alpine/Dockerfile
similarity index 84%
copy from php_8.1-alpine/Dockerfile
copy to php_8.4-rc-alpine/Dockerfile
index 3956e8d..7153118 100644
--- a/php_8.1-alpine/Dockerfile
+++ b/php_8.4-rc-alpine/Dockerfile
@@ -54,15 +54,17 @@ ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_
ENV PHP_CPPFLAGS="$PHP_CFLAGS"
ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
+ENV GPG_KEYS AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
-ENV PHP_VERSION 8.1.29
-ENV PHP_URL="https://www.php.net/distributions/php-8.1.29.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-8.1.29.tar.xz.asc"
-ENV PHP_SHA256="288884af60581d4284baba2ace9ca6d646f72facbd3e3c2dd2acc7fe6f903536"
+ENV PHP_VERSION 8.4.0alpha1
+ENV PHP_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz.asc"
+ENV PHP_SHA256="65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e"
RUN set -eux; \
\
apk add --no-cache --virtual .fetch-deps gnupg; \
+ # Add patchutils; see https://github.com/docker-library/php/pull/1526
+ apk add --no-cache --virtual .patch-deps patchutils; \
\
mkdir -p /usr/src; \
cd /usr/src; \
@@ -84,6 +86,13 @@ RUN set -eux; \
rm -rf "$GNUPGHOME"; \
fi; \
\
+ # Add patch; see https://github.com/docker-library/php/pull/1526
+ curl -fsSL -o php-pdo.patch 'https://github.com/php/php-src/pull/14797.patch?full_index=1'; \
+ echo '3a95762048a56ec0f59cb9ee18df49751ffb0bdd0e91e021b57f69ac7af62996 *php-pdo.patch' | sha256sum -c -; \
+ filterdiff -p1 -x 'NEWS' < php-pdo.patch > php-pdo.patch.filtered; \
+ mv php-pdo.patch.filtered php-pdo.patch; \
+ \
+ apk del --no-network .patch-deps; \
apk del --no-network .fetch-deps
COPY docker-php-source /usr/local/bin/
@@ -100,6 +109,7 @@ RUN set -eux; \
linux-headers \
oniguruma-dev \
openssl-dev \
+ patch \
readline-dev \
sqlite-dev \
; \
@@ -117,6 +127,9 @@ RUN set -eux; \
; \
docker-php-source extract; \
cd /usr/src/php; \
+# Apply patch; see https://github.com/docker-library/php/pull/1526
+ patch -p1 < ../php-pdo.patch; \
+ ./buildconf -f; \
gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
./configure \
--build="$gnuArch" \
@@ -132,8 +145,6 @@ RUN set -eux; \
# https://github.com/docker-library/php/issues/822
--with-pic \
\
-# --enable-ftp is included here for compatibility with existing versions. ftp_ssl_connect() needed ftp to be compiled statically before PHP 7.0 (see https://github.com/docker-library/php/issues/236).
- --enable-ftp \
# --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195)
--enable-mbstring \
# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself)
@@ -159,10 +170,6 @@ RUN set -eux; \
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear")
--with-pear \
\
-# bundled pcre does not support JIT on riscv64 until 10.41 (php 8.3+)
-# https://github.com/PCRE2Project/pcre2/commits/pcre2-10.41/src/sljit/sljitNativeRISCV_64.c
-# https://github.com/php/php-src/tree/php-8.3.0/ext/pcre/pcre2lib
- $(test "$gnuArch" = 'riscv64-linux-musl' && echo '--without-pcre-jit') \
; \
make -j "$(nproc)"; \
find -type f -name '*.a' -delete; \
diff --git a/php_8.1-alpine/docker-php-entrypoint b/php_8.4-rc-alpine/docker-php-entrypoint
similarity index 100%
copy from php_8.1-alpine/docker-php-entrypoint
copy to php_8.4-rc-alpine/docker-php-entrypoint
diff --git a/php_8.1-alpine/docker-php-ext-configure b/php_8.4-rc-alpine/docker-php-ext-configure
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-configure
copy to php_8.4-rc-alpine/docker-php-ext-configure
diff --git a/php_8.1-alpine/docker-php-ext-enable b/php_8.4-rc-alpine/docker-php-ext-enable
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-enable
copy to php_8.4-rc-alpine/docker-php-ext-enable
diff --git a/php_8.1-alpine/docker-php-ext-install b/php_8.4-rc-alpine/docker-php-ext-install
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-install
copy to php_8.4-rc-alpine/docker-php-ext-install
diff --git a/php_8.1-alpine/docker-php-source b/php_8.4-rc-alpine/docker-php-source
similarity index 100%
copy from php_8.1-alpine/docker-php-source
copy to php_8.4-rc-alpine/docker-php-source
diff --git a/php_8.2-zts-alpine3.19/Dockerfile b/php_8.4-rc-alpine3.19/Dockerfile
similarity index 84%
copy from php_8.2-zts-alpine3.19/Dockerfile
copy to php_8.4-rc-alpine3.19/Dockerfile
index 6da864e..918b020 100644
--- a/php_8.2-zts-alpine3.19/Dockerfile
+++ b/php_8.4-rc-alpine3.19/Dockerfile
@@ -54,15 +54,17 @@ ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_
ENV PHP_CPPFLAGS="$PHP_CFLAGS"
ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-ENV GPG_KEYS 39B641343D8C104B2B146DC3F9C39DC0B9698544 E60913E4DF209907D8E30D96659A97C9CF2A795A 1198C0117593497A5EC5C199286AF1F9897469DC
+ENV GPG_KEYS AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
-ENV PHP_VERSION 8.2.21
-ENV PHP_URL="https://www.php.net/distributions/php-8.2.21.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-8.2.21.tar.xz.asc"
-ENV PHP_SHA256="8cc44d51bb2506399ec176f70fe110f0c9e1f7d852a5303a2cd1403402199707"
+ENV PHP_VERSION 8.4.0alpha1
+ENV PHP_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz.asc"
+ENV PHP_SHA256="65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e"
RUN set -eux; \
\
apk add --no-cache --virtual .fetch-deps gnupg; \
+ # Add patchutils; see https://github.com/docker-library/php/pull/1526
+ apk add --no-cache --virtual .patch-deps patchutils; \
\
mkdir -p /usr/src; \
cd /usr/src; \
@@ -84,6 +86,13 @@ RUN set -eux; \
rm -rf "$GNUPGHOME"; \
fi; \
\
+ # Add patch; see https://github.com/docker-library/php/pull/1526
+ curl -fsSL -o php-pdo.patch 'https://github.com/php/php-src/pull/14797.patch?full_index=1'; \
+ echo '3a95762048a56ec0f59cb9ee18df49751ffb0bdd0e91e021b57f69ac7af62996 *php-pdo.patch' | sha256sum -c -; \
+ filterdiff -p1 -x 'NEWS' < php-pdo.patch > php-pdo.patch.filtered; \
+ mv php-pdo.patch.filtered php-pdo.patch; \
+ \
+ apk del --no-network .patch-deps; \
apk del --no-network .fetch-deps
COPY docker-php-source /usr/local/bin/
@@ -100,6 +109,7 @@ RUN set -eux; \
linux-headers \
oniguruma-dev \
openssl-dev \
+ patch \
readline-dev \
sqlite-dev \
; \
@@ -117,6 +127,9 @@ RUN set -eux; \
; \
docker-php-source extract; \
cd /usr/src/php; \
+# Apply patch; see https://github.com/docker-library/php/pull/1526
+ patch -p1 < ../php-pdo.patch; \
+ ./buildconf -f; \
gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
./configure \
--build="$gnuArch" \
@@ -157,18 +170,6 @@ RUN set -eux; \
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear")
--with-pear \
\
-# bundled pcre does not support JIT on riscv64 until 10.41 (php 8.3+)
-# https://github.com/PCRE2Project/pcre2/commits/pcre2-10.41/src/sljit/sljitNativeRISCV_64.c
-# https://github.com/php/php-src/tree/php-8.3.0/ext/pcre/pcre2lib
- $(test "$gnuArch" = 'riscv64-linux-musl' && echo '--without-pcre-jit') \
- \
-# https://github.com/docker-library/php/pull/939#issuecomment-730501748
- --enable-embed \
- \
- --enable-zts \
-# https://externals.io/message/118859
- --disable-zend-signals \
- --enable-zend-max-execution-timers \
; \
make -j "$(nproc)"; \
find -type f -name '*.a' -delete; \
diff --git a/php_8.1-alpine/docker-php-entrypoint b/php_8.4-rc-alpine3.19/docker-php-entrypoint
similarity index 100%
copy from php_8.1-alpine/docker-php-entrypoint
copy to php_8.4-rc-alpine3.19/docker-php-entrypoint
diff --git a/php_8.1-alpine/docker-php-ext-configure b/php_8.4-rc-alpine3.19/docker-php-ext-configure
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-configure
copy to php_8.4-rc-alpine3.19/docker-php-ext-configure
diff --git a/php_8.1-alpine/docker-php-ext-enable b/php_8.4-rc-alpine3.19/docker-php-ext-enable
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-enable
copy to php_8.4-rc-alpine3.19/docker-php-ext-enable
diff --git a/php_8.1-alpine/docker-php-ext-install b/php_8.4-rc-alpine3.19/docker-php-ext-install
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-install
copy to php_8.4-rc-alpine3.19/docker-php-ext-install
diff --git a/php_8.1-alpine/docker-php-source b/php_8.4-rc-alpine3.19/docker-php-source
similarity index 100%
copy from php_8.1-alpine/docker-php-source
copy to php_8.4-rc-alpine3.19/docker-php-source
diff --git a/php_8.2-apache-bullseye/Dockerfile b/php_8.4-rc-apache-bullseye/Dockerfile
similarity index 89%
copy from php_8.2-apache-bullseye/Dockerfile
copy to php_8.4-rc-apache-bullseye/Dockerfile
index 725bcc0..21ad1a3 100644
--- a/php_8.2-apache-bullseye/Dockerfile
+++ b/php_8.4-rc-apache-bullseye/Dockerfile
@@ -116,17 +116,19 @@ ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_
ENV PHP_CPPFLAGS="$PHP_CFLAGS"
ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-ENV GPG_KEYS 39B641343D8C104B2B146DC3F9C39DC0B9698544 E60913E4DF209907D8E30D96659A97C9CF2A795A 1198C0117593497A5EC5C199286AF1F9897469DC
+ENV GPG_KEYS AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
-ENV PHP_VERSION 8.2.21
-ENV PHP_URL="https://www.php.net/distributions/php-8.2.21.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-8.2.21.tar.xz.asc"
-ENV PHP_SHA256="8cc44d51bb2506399ec176f70fe110f0c9e1f7d852a5303a2cd1403402199707"
+ENV PHP_VERSION 8.4.0alpha1
+ENV PHP_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz.asc"
+ENV PHP_SHA256="65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e"
RUN set -eux; \
\
savedAptMark="$(apt-mark showmanual)"; \
apt-get update; \
apt-get install -y --no-install-recommends gnupg; \
+ # Add patchutils; see https://github.com/docker-library/php/pull/1526
+ apt-get install -y --no-install-recommends patchutils; \
rm -rf /var/lib/apt/lists/*; \
\
mkdir -p /usr/src; \
@@ -149,6 +151,12 @@ RUN set -eux; \
rm -rf "$GNUPGHOME"; \
fi; \
\
+ # Add patch; see https://github.com/docker-library/php/pull/1526
+ curl -fsSL -o php-pdo.patch 'https://github.com/php/php-src/pull/14797.patch?full_index=1'; \
+ echo '3a95762048a56ec0f59cb9ee18df49751ffb0bdd0e91e021b57f69ac7af62996 *php-pdo.patch' | sha256sum -c -; \
+ filterdiff -p1 -x 'NEWS' < php-pdo.patch > php-pdo.patch.filtered; \
+ mv php-pdo.patch.filtered php-pdo.patch; \
+ \
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark > /dev/null; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
@@ -182,6 +190,9 @@ RUN set -eux; \
; \
docker-php-source extract; \
cd /usr/src/php; \
+# Apply patch; see https://github.com/docker-library/php/pull/1526
+ patch -p1 < ../php-pdo.patch; \
+ ./buildconf -f; \
gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
# https://bugs.php.net/bug.php?id=74125
@@ -226,10 +237,6 @@ RUN set -eux; \
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear")
--with-pear \
\
-# bundled pcre does not support JIT on riscv64 until 10.41 (php 8.3+)
-# https://github.com/PCRE2Project/pcre2/commits/pcre2-10.41/src/sljit/sljitNativeRISCV_64.c
-# https://github.com/php/php-src/tree/php-8.3.0/ext/pcre/pcre2lib
- $(test "$gnuArch" = 'riscv64-linux-gnu' && echo '--without-pcre-jit') \
--with-libdir="lib/$debMultiarch" \
\
--disable-cgi \
diff --git a/php_8.1-apache-bullseye/apache2-foreground b/php_8.4-rc-apache-bullseye/apache2-foreground
similarity index 100%
copy from php_8.1-apache-bullseye/apache2-foreground
copy to php_8.4-rc-apache-bullseye/apache2-foreground
diff --git a/php_8.1-apache-bullseye/docker-php-entrypoint b/php_8.4-rc-apache-bullseye/docker-php-entrypoint
similarity index 100%
copy from php_8.1-apache-bullseye/docker-php-entrypoint
copy to php_8.4-rc-apache-bullseye/docker-php-entrypoint
diff --git a/php_8.1-alpine/docker-php-ext-configure b/php_8.4-rc-apache-bullseye/docker-php-ext-configure
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-configure
copy to php_8.4-rc-apache-bullseye/docker-php-ext-configure
diff --git a/php_8.1-alpine/docker-php-ext-enable b/php_8.4-rc-apache-bullseye/docker-php-ext-enable
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-enable
copy to php_8.4-rc-apache-bullseye/docker-php-ext-enable
diff --git a/php_8.1-alpine/docker-php-ext-install b/php_8.4-rc-apache-bullseye/docker-php-ext-install
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-install
copy to php_8.4-rc-apache-bullseye/docker-php-ext-install
diff --git a/php_8.1-alpine/docker-php-source b/php_8.4-rc-apache-bullseye/docker-php-source
similarity index 100%
copy from php_8.1-alpine/docker-php-source
copy to php_8.4-rc-apache-bullseye/docker-php-source
diff --git a/php_8.2-apache/Dockerfile b/php_8.4-rc-apache/Dockerfile
similarity index 89%
copy from php_8.2-apache/Dockerfile
copy to php_8.4-rc-apache/Dockerfile
index 4df386f..f4a6b44 100644
--- a/php_8.2-apache/Dockerfile
+++ b/php_8.4-rc-apache/Dockerfile
@@ -118,17 +118,19 @@ ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_
ENV PHP_CPPFLAGS="$PHP_CFLAGS"
ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-ENV GPG_KEYS 39B641343D8C104B2B146DC3F9C39DC0B9698544 E60913E4DF209907D8E30D96659A97C9CF2A795A 1198C0117593497A5EC5C199286AF1F9897469DC
+ENV GPG_KEYS AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
-ENV PHP_VERSION 8.2.21
-ENV PHP_URL="https://www.php.net/distributions/php-8.2.21.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-8.2.21.tar.xz.asc"
-ENV PHP_SHA256="8cc44d51bb2506399ec176f70fe110f0c9e1f7d852a5303a2cd1403402199707"
+ENV PHP_VERSION 8.4.0alpha1
+ENV PHP_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz.asc"
+ENV PHP_SHA256="65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e"
RUN set -eux; \
\
savedAptMark="$(apt-mark showmanual)"; \
apt-get update; \
apt-get install -y --no-install-recommends gnupg; \
+ # Add patchutils; see https://github.com/docker-library/php/pull/1526
+ apt-get install -y --no-install-recommends patchutils; \
rm -rf /var/lib/apt/lists/*; \
\
mkdir -p /usr/src; \
@@ -151,6 +153,12 @@ RUN set -eux; \
rm -rf "$GNUPGHOME"; \
fi; \
\
+ # Add patch; see https://github.com/docker-library/php/pull/1526
+ curl -fsSL -o php-pdo.patch 'https://github.com/php/php-src/pull/14797.patch?full_index=1'; \
+ echo '3a95762048a56ec0f59cb9ee18df49751ffb0bdd0e91e021b57f69ac7af62996 *php-pdo.patch' | sha256sum -c -; \
+ filterdiff -p1 -x 'NEWS' < php-pdo.patch > php-pdo.patch.filtered; \
+ mv php-pdo.patch.filtered php-pdo.patch; \
+ \
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark > /dev/null; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
@@ -184,6 +192,9 @@ RUN set -eux; \
; \
docker-php-source extract; \
cd /usr/src/php; \
+# Apply patch; see https://github.com/docker-library/php/pull/1526
+ patch -p1 < ../php-pdo.patch; \
+ ./buildconf -f; \
gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
# https://bugs.php.net/bug.php?id=74125
@@ -228,10 +239,6 @@ RUN set -eux; \
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear")
--with-pear \
\
-# bundled pcre does not support JIT on riscv64 until 10.41 (php 8.3+)
-# https://github.com/PCRE2Project/pcre2/commits/pcre2-10.41/src/sljit/sljitNativeRISCV_64.c
-# https://github.com/php/php-src/tree/php-8.3.0/ext/pcre/pcre2lib
- $(test "$gnuArch" = 'riscv64-linux-gnu' && echo '--without-pcre-jit') \
--with-libdir="lib/$debMultiarch" \
\
--disable-cgi \
diff --git a/php_8.1-apache-bullseye/apache2-foreground b/php_8.4-rc-apache/apache2-foreground
similarity index 100%
copy from php_8.1-apache-bullseye/apache2-foreground
copy to php_8.4-rc-apache/apache2-foreground
diff --git a/php_8.1-apache-bullseye/docker-php-entrypoint b/php_8.4-rc-apache/docker-php-entrypoint
similarity index 100%
copy from php_8.1-apache-bullseye/docker-php-entrypoint
copy to php_8.4-rc-apache/docker-php-entrypoint
diff --git a/php_8.1-alpine/docker-php-ext-configure b/php_8.4-rc-apache/docker-php-ext-configure
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-configure
copy to php_8.4-rc-apache/docker-php-ext-configure
diff --git a/php_8.1-alpine/docker-php-ext-enable b/php_8.4-rc-apache/docker-php-ext-enable
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-enable
copy to php_8.4-rc-apache/docker-php-ext-enable
diff --git a/php_8.1-alpine/docker-php-ext-install b/php_8.4-rc-apache/docker-php-ext-install
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-install
copy to php_8.4-rc-apache/docker-php-ext-install
diff --git a/php_8.1-alpine/docker-php-source b/php_8.4-rc-apache/docker-php-source
similarity index 100%
copy from php_8.1-alpine/docker-php-source
copy to php_8.4-rc-apache/docker-php-source
diff --git a/php_8.1-bullseye/Dockerfile b/php_8.4-rc-bullseye/Dockerfile
similarity index 86%
copy from php_8.1-bullseye/Dockerfile
copy to php_8.4-rc-bullseye/Dockerfile
index ceb5912..ea4b01d 100644
--- a/php_8.1-bullseye/Dockerfile
+++ b/php_8.4-rc-bullseye/Dockerfile
@@ -58,17 +58,19 @@ ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_
ENV PHP_CPPFLAGS="$PHP_CFLAGS"
ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
+ENV GPG_KEYS AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
-ENV PHP_VERSION 8.1.29
-ENV PHP_URL="https://www.php.net/distributions/php-8.1.29.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-8.1.29.tar.xz.asc"
-ENV PHP_SHA256="288884af60581d4284baba2ace9ca6d646f72facbd3e3c2dd2acc7fe6f903536"
+ENV PHP_VERSION 8.4.0alpha1
+ENV PHP_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz.asc"
+ENV PHP_SHA256="65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e"
RUN set -eux; \
\
savedAptMark="$(apt-mark showmanual)"; \
apt-get update; \
apt-get install -y --no-install-recommends gnupg; \
+ # Add patchutils; see https://github.com/docker-library/php/pull/1526
+ apt-get install -y --no-install-recommends patchutils; \
rm -rf /var/lib/apt/lists/*; \
\
mkdir -p /usr/src; \
@@ -91,6 +93,12 @@ RUN set -eux; \
rm -rf "$GNUPGHOME"; \
fi; \
\
+ # Add patch; see https://github.com/docker-library/php/pull/1526
+ curl -fsSL -o php-pdo.patch 'https://github.com/php/php-src/pull/14797.patch?full_index=1'; \
+ echo '3a95762048a56ec0f59cb9ee18df49751ffb0bdd0e91e021b57f69ac7af62996 *php-pdo.patch' | sha256sum -c -; \
+ filterdiff -p1 -x 'NEWS' < php-pdo.patch > php-pdo.patch.filtered; \
+ mv php-pdo.patch.filtered php-pdo.patch; \
+ \
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark > /dev/null; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
@@ -123,6 +131,9 @@ RUN set -eux; \
; \
docker-php-source extract; \
cd /usr/src/php; \
+# Apply patch; see https://github.com/docker-library/php/pull/1526
+ patch -p1 < ../php-pdo.patch; \
+ ./buildconf -f; \
gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
# https://bugs.php.net/bug.php?id=74125
@@ -143,8 +154,6 @@ RUN set -eux; \
# https://github.com/docker-library/php/issues/822
--with-pic \
\
-# --enable-ftp is included here for compatibility with existing versions. ftp_ssl_connect() needed ftp to be compiled statically before PHP 7.0 (see https://github.com/docker-library/php/issues/236).
- --enable-ftp \
# --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195)
--enable-mbstring \
# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself)
@@ -170,10 +179,6 @@ RUN set -eux; \
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear")
--with-pear \
\
-# bundled pcre does not support JIT on riscv64 until 10.41 (php 8.3+)
-# https://github.com/PCRE2Project/pcre2/commits/pcre2-10.41/src/sljit/sljitNativeRISCV_64.c
-# https://github.com/php/php-src/tree/php-8.3.0/ext/pcre/pcre2lib
- $(test "$gnuArch" = 'riscv64-linux-gnu' && echo '--without-pcre-jit') \
--with-libdir="lib/$debMultiarch" \
\
# https://github.com/docker-library/php/pull/939#issuecomment-730501748
diff --git a/php_8.1-alpine/docker-php-entrypoint b/php_8.4-rc-bullseye/docker-php-entrypoint
similarity index 100%
copy from php_8.1-alpine/docker-php-entrypoint
copy to php_8.4-rc-bullseye/docker-php-entrypoint
diff --git a/php_8.1-alpine/docker-php-ext-configure b/php_8.4-rc-bullseye/docker-php-ext-configure
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-configure
copy to php_8.4-rc-bullseye/docker-php-ext-configure
diff --git a/php_8.1-alpine/docker-php-ext-enable b/php_8.4-rc-bullseye/docker-php-ext-enable
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-enable
copy to php_8.4-rc-bullseye/docker-php-ext-enable
diff --git a/php_8.1-alpine/docker-php-ext-install b/php_8.4-rc-bullseye/docker-php-ext-install
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-install
copy to php_8.4-rc-bullseye/docker-php-ext-install
diff --git a/php_8.1-alpine/docker-php-source b/php_8.4-rc-bullseye/docker-php-source
similarity index 100%
copy from php_8.1-alpine/docker-php-source
copy to php_8.4-rc-bullseye/docker-php-source
diff --git a/php_8.2-fpm-alpine/Dockerfile b/php_8.4-rc-fpm-alpine/Dockerfile
similarity index 88%
copy from php_8.2-fpm-alpine/Dockerfile
copy to php_8.4-rc-fpm-alpine/Dockerfile
index bcb96ed..f55cdbc 100644
--- a/php_8.2-fpm-alpine/Dockerfile
+++ b/php_8.4-rc-fpm-alpine/Dockerfile
@@ -54,15 +54,17 @@ ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_
ENV PHP_CPPFLAGS="$PHP_CFLAGS"
ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-ENV GPG_KEYS 39B641343D8C104B2B146DC3F9C39DC0B9698544 E60913E4DF209907D8E30D96659A97C9CF2A795A 1198C0117593497A5EC5C199286AF1F9897469DC
+ENV GPG_KEYS AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
-ENV PHP_VERSION 8.2.21
-ENV PHP_URL="https://www.php.net/distributions/php-8.2.21.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-8.2.21.tar.xz.asc"
-ENV PHP_SHA256="8cc44d51bb2506399ec176f70fe110f0c9e1f7d852a5303a2cd1403402199707"
+ENV PHP_VERSION 8.4.0alpha1
+ENV PHP_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz.asc"
+ENV PHP_SHA256="65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e"
RUN set -eux; \
\
apk add --no-cache --virtual .fetch-deps gnupg; \
+ # Add patchutils; see https://github.com/docker-library/php/pull/1526
+ apk add --no-cache --virtual .patch-deps patchutils; \
\
mkdir -p /usr/src; \
cd /usr/src; \
@@ -84,6 +86,13 @@ RUN set -eux; \
rm -rf "$GNUPGHOME"; \
fi; \
\
+ # Add patch; see https://github.com/docker-library/php/pull/1526
+ curl -fsSL -o php-pdo.patch 'https://github.com/php/php-src/pull/14797.patch?full_index=1'; \
+ echo '3a95762048a56ec0f59cb9ee18df49751ffb0bdd0e91e021b57f69ac7af62996 *php-pdo.patch' | sha256sum -c -; \
+ filterdiff -p1 -x 'NEWS' < php-pdo.patch > php-pdo.patch.filtered; \
+ mv php-pdo.patch.filtered php-pdo.patch; \
+ \
+ apk del --no-network .patch-deps; \
apk del --no-network .fetch-deps
COPY docker-php-source /usr/local/bin/
@@ -100,6 +109,7 @@ RUN set -eux; \
linux-headers \
oniguruma-dev \
openssl-dev \
+ patch \
readline-dev \
sqlite-dev \
; \
@@ -117,6 +127,9 @@ RUN set -eux; \
; \
docker-php-source extract; \
cd /usr/src/php; \
+# Apply patch; see https://github.com/docker-library/php/pull/1526
+ patch -p1 < ../php-pdo.patch; \
+ ./buildconf -f; \
gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
./configure \
--build="$gnuArch" \
@@ -156,10 +169,6 @@ RUN set -eux; \
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear")
--with-pear \
\
-# bundled pcre does not support JIT on riscv64 until 10.41 (php 8.3+)
-# https://github.com/PCRE2Project/pcre2/commits/pcre2-10.41/src/sljit/sljitNativeRISCV_64.c
-# https://github.com/php/php-src/tree/php-8.3.0/ext/pcre/pcre2lib
- $(test "$gnuArch" = 'riscv64-linux-musl' && echo '--without-pcre-jit') \
\
--disable-cgi \
\
diff --git a/php_8.1-fpm-alpine/docker-php-entrypoint b/php_8.4-rc-fpm-alpine/docker-php-entrypoint
similarity index 100%
copy from php_8.1-fpm-alpine/docker-php-entrypoint
copy to php_8.4-rc-fpm-alpine/docker-php-entrypoint
diff --git a/php_8.1-alpine/docker-php-ext-configure b/php_8.4-rc-fpm-alpine/docker-php-ext-configure
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-configure
copy to php_8.4-rc-fpm-alpine/docker-php-ext-configure
diff --git a/php_8.1-alpine/docker-php-ext-enable b/php_8.4-rc-fpm-alpine/docker-php-ext-enable
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-enable
copy to php_8.4-rc-fpm-alpine/docker-php-ext-enable
diff --git a/php_8.1-alpine/docker-php-ext-install b/php_8.4-rc-fpm-alpine/docker-php-ext-install
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-install
copy to php_8.4-rc-fpm-alpine/docker-php-ext-install
diff --git a/php_8.1-alpine/docker-php-source b/php_8.4-rc-fpm-alpine/docker-php-source
similarity index 100%
copy from php_8.1-alpine/docker-php-source
copy to php_8.4-rc-fpm-alpine/docker-php-source
diff --git a/php_fpm-alpine3.19/Dockerfile b/php_8.4-rc-fpm-alpine3.19/Dockerfile
similarity index 88%
copy from php_fpm-alpine3.19/Dockerfile
copy to php_8.4-rc-fpm-alpine3.19/Dockerfile
index 3998b9f..f690daf 100644
--- a/php_fpm-alpine3.19/Dockerfile
+++ b/php_8.4-rc-fpm-alpine3.19/Dockerfile
@@ -54,15 +54,17 @@ ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_
ENV PHP_CPPFLAGS="$PHP_CFLAGS"
ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-ENV GPG_KEYS 1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA
+ENV GPG_KEYS AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
-ENV PHP_VERSION 8.3.9
-ENV PHP_URL="https://www.php.net/distributions/php-8.3.9.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-8.3.9.tar.xz.asc"
-ENV PHP_SHA256="bf4d7b8ea60a356064f88485278bd6f941a230ec16f0fc401574ce1445ad6c77"
+ENV PHP_VERSION 8.4.0alpha1
+ENV PHP_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz.asc"
+ENV PHP_SHA256="65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e"
RUN set -eux; \
\
apk add --no-cache --virtual .fetch-deps gnupg; \
+ # Add patchutils; see https://github.com/docker-library/php/pull/1526
+ apk add --no-cache --virtual .patch-deps patchutils; \
\
mkdir -p /usr/src; \
cd /usr/src; \
@@ -84,6 +86,13 @@ RUN set -eux; \
rm -rf "$GNUPGHOME"; \
fi; \
\
+ # Add patch; see https://github.com/docker-library/php/pull/1526
+ curl -fsSL -o php-pdo.patch 'https://github.com/php/php-src/pull/14797.patch?full_index=1'; \
+ echo '3a95762048a56ec0f59cb9ee18df49751ffb0bdd0e91e021b57f69ac7af62996 *php-pdo.patch' | sha256sum -c -; \
+ filterdiff -p1 -x 'NEWS' < php-pdo.patch > php-pdo.patch.filtered; \
+ mv php-pdo.patch.filtered php-pdo.patch; \
+ \
+ apk del --no-network .patch-deps; \
apk del --no-network .fetch-deps
COPY docker-php-source /usr/local/bin/
@@ -100,6 +109,7 @@ RUN set -eux; \
linux-headers \
oniguruma-dev \
openssl-dev \
+ patch \
readline-dev \
sqlite-dev \
; \
@@ -117,6 +127,9 @@ RUN set -eux; \
; \
docker-php-source extract; \
cd /usr/src/php; \
+# Apply patch; see https://github.com/docker-library/php/pull/1526
+ patch -p1 < ../php-pdo.patch; \
+ ./buildconf -f; \
gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
./configure \
--build="$gnuArch" \
diff --git a/php_8.1-fpm-alpine/docker-php-entrypoint b/php_8.4-rc-fpm-alpine3.19/docker-php-entrypoint
similarity index 100%
copy from php_8.1-fpm-alpine/docker-php-entrypoint
copy to php_8.4-rc-fpm-alpine3.19/docker-php-entrypoint
diff --git a/php_8.1-alpine/docker-php-ext-configure b/php_8.4-rc-fpm-alpine3.19/docker-php-ext-configure
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-configure
copy to php_8.4-rc-fpm-alpine3.19/docker-php-ext-configure
diff --git a/php_8.1-alpine/docker-php-ext-enable b/php_8.4-rc-fpm-alpine3.19/docker-php-ext-enable
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-enable
copy to php_8.4-rc-fpm-alpine3.19/docker-php-ext-enable
diff --git a/php_8.1-alpine/docker-php-ext-install b/php_8.4-rc-fpm-alpine3.19/docker-php-ext-install
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-install
copy to php_8.4-rc-fpm-alpine3.19/docker-php-ext-install
diff --git a/php_8.1-alpine/docker-php-source b/php_8.4-rc-fpm-alpine3.19/docker-php-source
similarity index 100%
copy from php_8.1-alpine/docker-php-source
copy to php_8.4-rc-fpm-alpine3.19/docker-php-source
diff --git a/php_fpm-bullseye/Dockerfile b/php_8.4-rc-fpm-bullseye/Dockerfile
similarity index 89%
copy from php_fpm-bullseye/Dockerfile
copy to php_8.4-rc-fpm-bullseye/Dockerfile
index f08eb64..7921b02 100644
--- a/php_fpm-bullseye/Dockerfile
+++ b/php_8.4-rc-fpm-bullseye/Dockerfile
@@ -58,17 +58,19 @@ ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_
ENV PHP_CPPFLAGS="$PHP_CFLAGS"
ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-ENV GPG_KEYS 1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA
+ENV GPG_KEYS AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
-ENV PHP_VERSION 8.3.9
-ENV PHP_URL="https://www.php.net/distributions/php-8.3.9.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-8.3.9.tar.xz.asc"
-ENV PHP_SHA256="bf4d7b8ea60a356064f88485278bd6f941a230ec16f0fc401574ce1445ad6c77"
+ENV PHP_VERSION 8.4.0alpha1
+ENV PHP_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz.asc"
+ENV PHP_SHA256="65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e"
RUN set -eux; \
\
savedAptMark="$(apt-mark showmanual)"; \
apt-get update; \
apt-get install -y --no-install-recommends gnupg; \
+ # Add patchutils; see https://github.com/docker-library/php/pull/1526
+ apt-get install -y --no-install-recommends patchutils; \
rm -rf /var/lib/apt/lists/*; \
\
mkdir -p /usr/src; \
@@ -91,6 +93,12 @@ RUN set -eux; \
rm -rf "$GNUPGHOME"; \
fi; \
\
+ # Add patch; see https://github.com/docker-library/php/pull/1526
+ curl -fsSL -o php-pdo.patch 'https://github.com/php/php-src/pull/14797.patch?full_index=1'; \
+ echo '3a95762048a56ec0f59cb9ee18df49751ffb0bdd0e91e021b57f69ac7af62996 *php-pdo.patch' | sha256sum -c -; \
+ filterdiff -p1 -x 'NEWS' < php-pdo.patch > php-pdo.patch.filtered; \
+ mv php-pdo.patch.filtered php-pdo.patch; \
+ \
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark > /dev/null; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
@@ -123,6 +131,9 @@ RUN set -eux; \
; \
docker-php-source extract; \
cd /usr/src/php; \
+# Apply patch; see https://github.com/docker-library/php/pull/1526
+ patch -p1 < ../php-pdo.patch; \
+ ./buildconf -f; \
gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
# https://bugs.php.net/bug.php?id=74125
diff --git a/php_8.1-fpm-alpine/docker-php-entrypoint b/php_8.4-rc-fpm-bullseye/docker-php-entrypoint
similarity index 100%
copy from php_8.1-fpm-alpine/docker-php-entrypoint
copy to php_8.4-rc-fpm-bullseye/docker-php-entrypoint
diff --git a/php_8.1-alpine/docker-php-ext-configure b/php_8.4-rc-fpm-bullseye/docker-php-ext-configure
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-configure
copy to php_8.4-rc-fpm-bullseye/docker-php-ext-configure
diff --git a/php_8.1-alpine/docker-php-ext-enable b/php_8.4-rc-fpm-bullseye/docker-php-ext-enable
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-enable
copy to php_8.4-rc-fpm-bullseye/docker-php-ext-enable
diff --git a/php_8.1-alpine/docker-php-ext-install b/php_8.4-rc-fpm-bullseye/docker-php-ext-install
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-install
copy to php_8.4-rc-fpm-bullseye/docker-php-ext-install
diff --git a/php_8.1-alpine/docker-php-source b/php_8.4-rc-fpm-bullseye/docker-php-source
similarity index 100%
copy from php_8.1-alpine/docker-php-source
copy to php_8.4-rc-fpm-bullseye/docker-php-source
diff --git a/php_fpm/Dockerfile b/php_8.4-rc-fpm/Dockerfile
similarity index 89%
copy from php_fpm/Dockerfile
copy to php_8.4-rc-fpm/Dockerfile
index ad3be4a..d3163a5 100644
--- a/php_fpm/Dockerfile
+++ b/php_8.4-rc-fpm/Dockerfile
@@ -58,17 +58,19 @@ ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_
ENV PHP_CPPFLAGS="$PHP_CFLAGS"
ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-ENV GPG_KEYS 1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA
+ENV GPG_KEYS AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
-ENV PHP_VERSION 8.3.9
-ENV PHP_URL="https://www.php.net/distributions/php-8.3.9.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-8.3.9.tar.xz.asc"
-ENV PHP_SHA256="bf4d7b8ea60a356064f88485278bd6f941a230ec16f0fc401574ce1445ad6c77"
+ENV PHP_VERSION 8.4.0alpha1
+ENV PHP_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz.asc"
+ENV PHP_SHA256="65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e"
RUN set -eux; \
\
savedAptMark="$(apt-mark showmanual)"; \
apt-get update; \
apt-get install -y --no-install-recommends gnupg; \
+ # Add patchutils; see https://github.com/docker-library/php/pull/1526
+ apt-get install -y --no-install-recommends patchutils; \
rm -rf /var/lib/apt/lists/*; \
\
mkdir -p /usr/src; \
@@ -91,6 +93,12 @@ RUN set -eux; \
rm -rf "$GNUPGHOME"; \
fi; \
\
+ # Add patch; see https://github.com/docker-library/php/pull/1526
+ curl -fsSL -o php-pdo.patch 'https://github.com/php/php-src/pull/14797.patch?full_index=1'; \
+ echo '3a95762048a56ec0f59cb9ee18df49751ffb0bdd0e91e021b57f69ac7af62996 *php-pdo.patch' | sha256sum -c -; \
+ filterdiff -p1 -x 'NEWS' < php-pdo.patch > php-pdo.patch.filtered; \
+ mv php-pdo.patch.filtered php-pdo.patch; \
+ \
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark > /dev/null; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
@@ -123,6 +131,9 @@ RUN set -eux; \
; \
docker-php-source extract; \
cd /usr/src/php; \
+# Apply patch; see https://github.com/docker-library/php/pull/1526
+ patch -p1 < ../php-pdo.patch; \
+ ./buildconf -f; \
gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
# https://bugs.php.net/bug.php?id=74125
diff --git a/php_8.1-fpm-alpine/docker-php-entrypoint b/php_8.4-rc-fpm/docker-php-entrypoint
similarity index 100%
copy from php_8.1-fpm-alpine/docker-php-entrypoint
copy to php_8.4-rc-fpm/docker-php-entrypoint
diff --git a/php_8.1-alpine/docker-php-ext-configure b/php_8.4-rc-fpm/docker-php-ext-configure
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-configure
copy to php_8.4-rc-fpm/docker-php-ext-configure
diff --git a/php_8.1-alpine/docker-php-ext-enable b/php_8.4-rc-fpm/docker-php-ext-enable
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-enable
copy to php_8.4-rc-fpm/docker-php-ext-enable
diff --git a/php_8.1-alpine/docker-php-ext-install b/php_8.4-rc-fpm/docker-php-ext-install
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-install
copy to php_8.4-rc-fpm/docker-php-ext-install
diff --git a/php_8.1-alpine/docker-php-source b/php_8.4-rc-fpm/docker-php-source
similarity index 100%
copy from php_8.1-alpine/docker-php-source
copy to php_8.4-rc-fpm/docker-php-source
diff --git a/php_8.2-zts-alpine/Dockerfile b/php_8.4-rc-zts-alpine/Dockerfile
similarity index 85%
copy from php_8.2-zts-alpine/Dockerfile
copy to php_8.4-rc-zts-alpine/Dockerfile
index 1ac66f2..f26cc56 100644
--- a/php_8.2-zts-alpine/Dockerfile
+++ b/php_8.4-rc-zts-alpine/Dockerfile
@@ -54,15 +54,17 @@ ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_
ENV PHP_CPPFLAGS="$PHP_CFLAGS"
ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-ENV GPG_KEYS 39B641343D8C104B2B146DC3F9C39DC0B9698544 E60913E4DF209907D8E30D96659A97C9CF2A795A 1198C0117593497A5EC5C199286AF1F9897469DC
+ENV GPG_KEYS AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
-ENV PHP_VERSION 8.2.21
-ENV PHP_URL="https://www.php.net/distributions/php-8.2.21.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-8.2.21.tar.xz.asc"
-ENV PHP_SHA256="8cc44d51bb2506399ec176f70fe110f0c9e1f7d852a5303a2cd1403402199707"
+ENV PHP_VERSION 8.4.0alpha1
+ENV PHP_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz.asc"
+ENV PHP_SHA256="65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e"
RUN set -eux; \
\
apk add --no-cache --virtual .fetch-deps gnupg; \
+ # Add patchutils; see https://github.com/docker-library/php/pull/1526
+ apk add --no-cache --virtual .patch-deps patchutils; \
\
mkdir -p /usr/src; \
cd /usr/src; \
@@ -84,6 +86,13 @@ RUN set -eux; \
rm -rf "$GNUPGHOME"; \
fi; \
\
+ # Add patch; see https://github.com/docker-library/php/pull/1526
+ curl -fsSL -o php-pdo.patch 'https://github.com/php/php-src/pull/14797.patch?full_index=1'; \
+ echo '3a95762048a56ec0f59cb9ee18df49751ffb0bdd0e91e021b57f69ac7af62996 *php-pdo.patch' | sha256sum -c -; \
+ filterdiff -p1 -x 'NEWS' < php-pdo.patch > php-pdo.patch.filtered; \
+ mv php-pdo.patch.filtered php-pdo.patch; \
+ \
+ apk del --no-network .patch-deps; \
apk del --no-network .fetch-deps
COPY docker-php-source /usr/local/bin/
@@ -100,6 +109,7 @@ RUN set -eux; \
linux-headers \
oniguruma-dev \
openssl-dev \
+ patch \
readline-dev \
sqlite-dev \
; \
@@ -117,6 +127,9 @@ RUN set -eux; \
; \
docker-php-source extract; \
cd /usr/src/php; \
+# Apply patch; see https://github.com/docker-library/php/pull/1526
+ patch -p1 < ../php-pdo.patch; \
+ ./buildconf -f; \
gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
./configure \
--build="$gnuArch" \
@@ -157,10 +170,6 @@ RUN set -eux; \
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear")
--with-pear \
\
-# bundled pcre does not support JIT on riscv64 until 10.41 (php 8.3+)
-# https://github.com/PCRE2Project/pcre2/commits/pcre2-10.41/src/sljit/sljitNativeRISCV_64.c
-# https://github.com/php/php-src/tree/php-8.3.0/ext/pcre/pcre2lib
- $(test "$gnuArch" = 'riscv64-linux-musl' && echo '--without-pcre-jit') \
\
# https://github.com/docker-library/php/pull/939#issuecomment-730501748
--enable-embed \
@@ -168,7 +177,6 @@ RUN set -eux; \
--enable-zts \
# https://externals.io/message/118859
--disable-zend-signals \
- --enable-zend-max-execution-timers \
; \
make -j "$(nproc)"; \
find -type f -name '*.a' -delete; \
diff --git a/php_8.1-alpine/docker-php-entrypoint b/php_8.4-rc-zts-alpine/docker-php-entrypoint
similarity index 100%
copy from php_8.1-alpine/docker-php-entrypoint
copy to php_8.4-rc-zts-alpine/docker-php-entrypoint
diff --git a/php_8.1-alpine/docker-php-ext-configure b/php_8.4-rc-zts-alpine/docker-php-ext-configure
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-configure
copy to php_8.4-rc-zts-alpine/docker-php-ext-configure
diff --git a/php_8.1-alpine/docker-php-ext-enable b/php_8.4-rc-zts-alpine/docker-php-ext-enable
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-enable
copy to php_8.4-rc-zts-alpine/docker-php-ext-enable
diff --git a/php_8.1-alpine/docker-php-ext-install b/php_8.4-rc-zts-alpine/docker-php-ext-install
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-install
copy to php_8.4-rc-zts-alpine/docker-php-ext-install
diff --git a/php_8.1-alpine/docker-php-source b/php_8.4-rc-zts-alpine/docker-php-source
similarity index 100%
copy from php_8.1-alpine/docker-php-source
copy to php_8.4-rc-zts-alpine/docker-php-source
diff --git a/php_zts-alpine3.19/Dockerfile b/php_8.4-rc-zts-alpine3.19/Dockerfile
similarity index 85%
copy from php_zts-alpine3.19/Dockerfile
copy to php_8.4-rc-zts-alpine3.19/Dockerfile
index 6f1bbb2..a05e967 100644
--- a/php_zts-alpine3.19/Dockerfile
+++ b/php_8.4-rc-zts-alpine3.19/Dockerfile
@@ -54,15 +54,17 @@ ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_
ENV PHP_CPPFLAGS="$PHP_CFLAGS"
ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-ENV GPG_KEYS 1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA
+ENV GPG_KEYS AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
-ENV PHP_VERSION 8.3.9
-ENV PHP_URL="https://www.php.net/distributions/php-8.3.9.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-8.3.9.tar.xz.asc"
-ENV PHP_SHA256="bf4d7b8ea60a356064f88485278bd6f941a230ec16f0fc401574ce1445ad6c77"
+ENV PHP_VERSION 8.4.0alpha1
+ENV PHP_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz.asc"
+ENV PHP_SHA256="65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e"
RUN set -eux; \
\
apk add --no-cache --virtual .fetch-deps gnupg; \
+ # Add patchutils; see https://github.com/docker-library/php/pull/1526
+ apk add --no-cache --virtual .patch-deps patchutils; \
\
mkdir -p /usr/src; \
cd /usr/src; \
@@ -84,6 +86,13 @@ RUN set -eux; \
rm -rf "$GNUPGHOME"; \
fi; \
\
+ # Add patch; see https://github.com/docker-library/php/pull/1526
+ curl -fsSL -o php-pdo.patch 'https://github.com/php/php-src/pull/14797.patch?full_index=1'; \
+ echo '3a95762048a56ec0f59cb9ee18df49751ffb0bdd0e91e021b57f69ac7af62996 *php-pdo.patch' | sha256sum -c -; \
+ filterdiff -p1 -x 'NEWS' < php-pdo.patch > php-pdo.patch.filtered; \
+ mv php-pdo.patch.filtered php-pdo.patch; \
+ \
+ apk del --no-network .patch-deps; \
apk del --no-network .fetch-deps
COPY docker-php-source /usr/local/bin/
@@ -100,6 +109,7 @@ RUN set -eux; \
linux-headers \
oniguruma-dev \
openssl-dev \
+ patch \
readline-dev \
sqlite-dev \
; \
@@ -117,6 +127,9 @@ RUN set -eux; \
; \
docker-php-source extract; \
cd /usr/src/php; \
+# Apply patch; see https://github.com/docker-library/php/pull/1526
+ patch -p1 < ../php-pdo.patch; \
+ ./buildconf -f; \
gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
./configure \
--build="$gnuArch" \
diff --git a/php_8.1-alpine/docker-php-entrypoint b/php_8.4-rc-zts-alpine3.19/docker-php-entrypoint
similarity index 100%
copy from php_8.1-alpine/docker-php-entrypoint
copy to php_8.4-rc-zts-alpine3.19/docker-php-entrypoint
diff --git a/php_8.1-alpine/docker-php-ext-configure b/php_8.4-rc-zts-alpine3.19/docker-php-ext-configure
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-configure
copy to php_8.4-rc-zts-alpine3.19/docker-php-ext-configure
diff --git a/php_8.1-alpine/docker-php-ext-enable b/php_8.4-rc-zts-alpine3.19/docker-php-ext-enable
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-enable
copy to php_8.4-rc-zts-alpine3.19/docker-php-ext-enable
diff --git a/php_8.1-alpine/docker-php-ext-install b/php_8.4-rc-zts-alpine3.19/docker-php-ext-install
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-install
copy to php_8.4-rc-zts-alpine3.19/docker-php-ext-install
diff --git a/php_8.1-alpine/docker-php-source b/php_8.4-rc-zts-alpine3.19/docker-php-source
similarity index 100%
copy from php_8.1-alpine/docker-php-source
copy to php_8.4-rc-zts-alpine3.19/docker-php-source
diff --git a/php_8.2-zts-bullseye/Dockerfile b/php_8.4-rc-zts-bullseye/Dockerfile
similarity index 86%
copy from php_8.2-zts-bullseye/Dockerfile
copy to php_8.4-rc-zts-bullseye/Dockerfile
index 89e2cbf..f0ddad1 100644
--- a/php_8.2-zts-bullseye/Dockerfile
+++ b/php_8.4-rc-zts-bullseye/Dockerfile
@@ -58,17 +58,19 @@ ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_
ENV PHP_CPPFLAGS="$PHP_CFLAGS"
ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-ENV GPG_KEYS 39B641343D8C104B2B146DC3F9C39DC0B9698544 E60913E4DF209907D8E30D96659A97C9CF2A795A 1198C0117593497A5EC5C199286AF1F9897469DC
+ENV GPG_KEYS AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
-ENV PHP_VERSION 8.2.21
-ENV PHP_URL="https://www.php.net/distributions/php-8.2.21.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-8.2.21.tar.xz.asc"
-ENV PHP_SHA256="8cc44d51bb2506399ec176f70fe110f0c9e1f7d852a5303a2cd1403402199707"
+ENV PHP_VERSION 8.4.0alpha1
+ENV PHP_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz.asc"
+ENV PHP_SHA256="65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e"
RUN set -eux; \
\
savedAptMark="$(apt-mark showmanual)"; \
apt-get update; \
apt-get install -y --no-install-recommends gnupg; \
+ # Add patchutils; see https://github.com/docker-library/php/pull/1526
+ apt-get install -y --no-install-recommends patchutils; \
rm -rf /var/lib/apt/lists/*; \
\
mkdir -p /usr/src; \
@@ -91,6 +93,12 @@ RUN set -eux; \
rm -rf "$GNUPGHOME"; \
fi; \
\
+ # Add patch; see https://github.com/docker-library/php/pull/1526
+ curl -fsSL -o php-pdo.patch 'https://github.com/php/php-src/pull/14797.patch?full_index=1'; \
+ echo '3a95762048a56ec0f59cb9ee18df49751ffb0bdd0e91e021b57f69ac7af62996 *php-pdo.patch' | sha256sum -c -; \
+ filterdiff -p1 -x 'NEWS' < php-pdo.patch > php-pdo.patch.filtered; \
+ mv php-pdo.patch.filtered php-pdo.patch; \
+ \
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark > /dev/null; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
@@ -123,6 +131,9 @@ RUN set -eux; \
; \
docker-php-source extract; \
cd /usr/src/php; \
+# Apply patch; see https://github.com/docker-library/php/pull/1526
+ patch -p1 < ../php-pdo.patch; \
+ ./buildconf -f; \
gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
# https://bugs.php.net/bug.php?id=74125
@@ -168,10 +179,6 @@ RUN set -eux; \
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear")
--with-pear \
\
-# bundled pcre does not support JIT on riscv64 until 10.41 (php 8.3+)
-# https://github.com/PCRE2Project/pcre2/commits/pcre2-10.41/src/sljit/sljitNativeRISCV_64.c
-# https://github.com/php/php-src/tree/php-8.3.0/ext/pcre/pcre2lib
- $(test "$gnuArch" = 'riscv64-linux-gnu' && echo '--without-pcre-jit') \
--with-libdir="lib/$debMultiarch" \
\
# https://github.com/docker-library/php/pull/939#issuecomment-730501748
@@ -180,7 +187,6 @@ RUN set -eux; \
--enable-zts \
# https://externals.io/message/118859
--disable-zend-signals \
- --enable-zend-max-execution-timers \
; \
make -j "$(nproc)"; \
find -type f -name '*.a' -delete; \
diff --git a/php_8.1-alpine/docker-php-entrypoint b/php_8.4-rc-zts-bullseye/docker-php-entrypoint
similarity index 100%
copy from php_8.1-alpine/docker-php-entrypoint
copy to php_8.4-rc-zts-bullseye/docker-php-entrypoint
diff --git a/php_8.1-alpine/docker-php-ext-configure b/php_8.4-rc-zts-bullseye/docker-php-ext-configure
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-configure
copy to php_8.4-rc-zts-bullseye/docker-php-ext-configure
diff --git a/php_8.1-alpine/docker-php-ext-enable b/php_8.4-rc-zts-bullseye/docker-php-ext-enable
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-enable
copy to php_8.4-rc-zts-bullseye/docker-php-ext-enable
diff --git a/php_8.1-alpine/docker-php-ext-install b/php_8.4-rc-zts-bullseye/docker-php-ext-install
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-install
copy to php_8.4-rc-zts-bullseye/docker-php-ext-install
diff --git a/php_8.1-alpine/docker-php-source b/php_8.4-rc-zts-bullseye/docker-php-source
similarity index 100%
copy from php_8.1-alpine/docker-php-source
copy to php_8.4-rc-zts-bullseye/docker-php-source
diff --git a/php_zts/Dockerfile b/php_8.4-rc-zts/Dockerfile
similarity index 86%
copy from php_zts/Dockerfile
copy to php_8.4-rc-zts/Dockerfile
index 2bae30b..e6b66c5 100644
--- a/php_zts/Dockerfile
+++ b/php_8.4-rc-zts/Dockerfile
@@ -58,17 +58,19 @@ ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_
ENV PHP_CPPFLAGS="$PHP_CFLAGS"
ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-ENV GPG_KEYS 1198C0117593497A5EC5C199286AF1F9897469DC C28D937575603EB4ABB725861C0779DC5C0A9DE4 AFD8691FDAEDF03BDF6E460563F15A9B715376CA
+ENV GPG_KEYS AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
-ENV PHP_VERSION 8.3.9
-ENV PHP_URL="https://www.php.net/distributions/php-8.3.9.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-8.3.9.tar.xz.asc"
-ENV PHP_SHA256="bf4d7b8ea60a356064f88485278bd6f941a230ec16f0fc401574ce1445ad6c77"
+ENV PHP_VERSION 8.4.0alpha1
+ENV PHP_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz.asc"
+ENV PHP_SHA256="65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e"
RUN set -eux; \
\
savedAptMark="$(apt-mark showmanual)"; \
apt-get update; \
apt-get install -y --no-install-recommends gnupg; \
+ # Add patchutils; see https://github.com/docker-library/php/pull/1526
+ apt-get install -y --no-install-recommends patchutils; \
rm -rf /var/lib/apt/lists/*; \
\
mkdir -p /usr/src; \
@@ -91,6 +93,12 @@ RUN set -eux; \
rm -rf "$GNUPGHOME"; \
fi; \
\
+ # Add patch; see https://github.com/docker-library/php/pull/1526
+ curl -fsSL -o php-pdo.patch 'https://github.com/php/php-src/pull/14797.patch?full_index=1'; \
+ echo '3a95762048a56ec0f59cb9ee18df49751ffb0bdd0e91e021b57f69ac7af62996 *php-pdo.patch' | sha256sum -c -; \
+ filterdiff -p1 -x 'NEWS' < php-pdo.patch > php-pdo.patch.filtered; \
+ mv php-pdo.patch.filtered php-pdo.patch; \
+ \
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark > /dev/null; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
@@ -123,6 +131,9 @@ RUN set -eux; \
; \
docker-php-source extract; \
cd /usr/src/php; \
+# Apply patch; see https://github.com/docker-library/php/pull/1526
+ patch -p1 < ../php-pdo.patch; \
+ ./buildconf -f; \
gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
# https://bugs.php.net/bug.php?id=74125
diff --git a/php_8.1-alpine/docker-php-entrypoint b/php_8.4-rc-zts/docker-php-entrypoint
similarity index 100%
copy from php_8.1-alpine/docker-php-entrypoint
copy to php_8.4-rc-zts/docker-php-entrypoint
diff --git a/php_8.1-alpine/docker-php-ext-configure b/php_8.4-rc-zts/docker-php-ext-configure
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-configure
copy to php_8.4-rc-zts/docker-php-ext-configure
diff --git a/php_8.1-alpine/docker-php-ext-enable b/php_8.4-rc-zts/docker-php-ext-enable
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-enable
copy to php_8.4-rc-zts/docker-php-ext-enable
diff --git a/php_8.1-alpine/docker-php-ext-install b/php_8.4-rc-zts/docker-php-ext-install
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-install
copy to php_8.4-rc-zts/docker-php-ext-install
diff --git a/php_8.1-alpine/docker-php-source b/php_8.4-rc-zts/docker-php-source
similarity index 100%
copy from php_8.1-alpine/docker-php-source
copy to php_8.4-rc-zts/docker-php-source
diff --git a/php_8.2-zts/Dockerfile b/php_8.4-rc/Dockerfile
similarity index 86%
copy from php_8.2-zts/Dockerfile
copy to php_8.4-rc/Dockerfile
index c8ec97f..c6698c6 100644
--- a/php_8.2-zts/Dockerfile
+++ b/php_8.4-rc/Dockerfile
@@ -58,17 +58,19 @@ ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_
ENV PHP_CPPFLAGS="$PHP_CFLAGS"
ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-ENV GPG_KEYS 39B641343D8C104B2B146DC3F9C39DC0B9698544 E60913E4DF209907D8E30D96659A97C9CF2A795A 1198C0117593497A5EC5C199286AF1F9897469DC
+ENV GPG_KEYS AFD8691FDAEDF03BDF6E460563F15A9B715376CA 9D7F99A0CB8F05C8A6958D6256A97AF7600A39A6 0616E93D95AF471243E26761770426E17EBBB3DD
-ENV PHP_VERSION 8.2.21
-ENV PHP_URL="https://www.php.net/distributions/php-8.2.21.tar.xz" PHP_ASC_URL="https://www.php.net/distributions/php-8.2.21.tar.xz.asc"
-ENV PHP_SHA256="8cc44d51bb2506399ec176f70fe110f0c9e1f7d852a5303a2cd1403402199707"
+ENV PHP_VERSION 8.4.0alpha1
+ENV PHP_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~saki/php-8.4.0alpha1.tar.xz.asc"
+ENV PHP_SHA256="65903a7add51350540b567f8cd2d964ac11366bf33e1b287489765feac45278e"
RUN set -eux; \
\
savedAptMark="$(apt-mark showmanual)"; \
apt-get update; \
apt-get install -y --no-install-recommends gnupg; \
+ # Add patchutils; see https://github.com/docker-library/php/pull/1526
+ apt-get install -y --no-install-recommends patchutils; \
rm -rf /var/lib/apt/lists/*; \
\
mkdir -p /usr/src; \
@@ -91,6 +93,12 @@ RUN set -eux; \
rm -rf "$GNUPGHOME"; \
fi; \
\
+ # Add patch; see https://github.com/docker-library/php/pull/1526
+ curl -fsSL -o php-pdo.patch 'https://github.com/php/php-src/pull/14797.patch?full_index=1'; \
+ echo '3a95762048a56ec0f59cb9ee18df49751ffb0bdd0e91e021b57f69ac7af62996 *php-pdo.patch' | sha256sum -c -; \
+ filterdiff -p1 -x 'NEWS' < php-pdo.patch > php-pdo.patch.filtered; \
+ mv php-pdo.patch.filtered php-pdo.patch; \
+ \
apt-mark auto '.*' > /dev/null; \
apt-mark manual $savedAptMark > /dev/null; \
apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
@@ -123,6 +131,9 @@ RUN set -eux; \
; \
docker-php-source extract; \
cd /usr/src/php; \
+# Apply patch; see https://github.com/docker-library/php/pull/1526
+ patch -p1 < ../php-pdo.patch; \
+ ./buildconf -f; \
gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
# https://bugs.php.net/bug.php?id=74125
@@ -168,19 +179,10 @@ RUN set -eux; \
# in PHP 7.4+, the pecl/pear installers are officially deprecated (requiring an explicit "--with-pear")
--with-pear \
\
-# bundled pcre does not support JIT on riscv64 until 10.41 (php 8.3+)
-# https://github.com/PCRE2Project/pcre2/commits/pcre2-10.41/src/sljit/sljitNativeRISCV_64.c
-# https://github.com/php/php-src/tree/php-8.3.0/ext/pcre/pcre2lib
- $(test "$gnuArch" = 'riscv64-linux-gnu' && echo '--without-pcre-jit') \
--with-libdir="lib/$debMultiarch" \
\
# https://github.com/docker-library/php/pull/939#issuecomment-730501748
--enable-embed \
- \
- --enable-zts \
-# https://externals.io/message/118859
- --disable-zend-signals \
- --enable-zend-max-execution-timers \
; \
make -j "$(nproc)"; \
find -type f -name '*.a' -delete; \
diff --git a/php_8.1-alpine/docker-php-entrypoint b/php_8.4-rc/docker-php-entrypoint
similarity index 100%
copy from php_8.1-alpine/docker-php-entrypoint
copy to php_8.4-rc/docker-php-entrypoint
diff --git a/php_8.1-alpine/docker-php-ext-configure b/php_8.4-rc/docker-php-ext-configure
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-configure
copy to php_8.4-rc/docker-php-ext-configure
diff --git a/php_8.1-alpine/docker-php-ext-enable b/php_8.4-rc/docker-php-ext-enable
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-enable
copy to php_8.4-rc/docker-php-ext-enable
diff --git a/php_8.1-alpine/docker-php-ext-install b/php_8.4-rc/docker-php-ext-install
similarity index 100%
copy from php_8.1-alpine/docker-php-ext-install
copy to php_8.4-rc/docker-php-ext-install
diff --git a/php_8.1-alpine/docker-php-source b/php_8.4-rc/docker-php-source
similarity index 100%
copy from php_8.1-alpine/docker-php-source
copy to php_8.4-rc/docker-php-source Relevant Maintainers: |
yosifkit
approved these changes
Jul 8, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Changes: