docker-php74/php

Update 8.1-rc

Commit 98c47665 · Docker Library Bot · 2022-10-28T08:52:34-07:00

Changeset
98c4766566bccd176f7a4e45c1b55227d5a47516
Parents
5aa62896690eb52891fad624f27804432cf0fdb4

View source at this commit

Comments

No comments yet.

Log in to comment

Diff

diff --git a/8.1-rc/alpine3.15/cli/Dockerfile b/8.1-rc/alpine3.15/cli/Dockerfile
deleted file mode 100644
index 2a493852..00000000
--- a/8.1-rc/alpine3.15/cli/Dockerfile
+++ /dev/null
@@ -1,206 +0,0 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM alpine:3.15
-
-# dependencies required for running "phpize"
-# these get automatically installed and removed by "docker-php-ext-*" (unless they're already installed)
-ENV PHPIZE_DEPS \
-		autoconf \
-		dpkg-dev dpkg \
-		file \
-		g++ \
-		gcc \
-		libc-dev \
-		make \
-		pkgconf \
-		re2c
-
-# persistent / runtime deps
-RUN apk add --no-cache \
-		ca-certificates \
-		curl \
-		tar \
-		xz \
-# https://github.com/docker-library/php/issues/494
-		openssl
-
-# ensure www-data user exists
-RUN set -eux; \
-	adduser -u 82 -D -S -G www-data www-data
-# 82 is the standard uid/gid for "www-data" in Alpine
-# https://git.alpinelinux.org/aports/tree/main/apache2/apache2.pre-install?h=3.14-stable
-# https://git.alpinelinux.org/aports/tree/main/lighttpd/lighttpd.pre-install?h=3.14-stable
-# https://git.alpinelinux.org/aports/tree/main/nginx/nginx.pre-install?h=3.14-stable
-
-ENV PHP_INI_DIR /usr/local/etc/php
-RUN set -eux; \
-	mkdir -p "$PHP_INI_DIR/conf.d"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-	[ ! -d /var/www/html ]; \
-	mkdir -p /var/www/html; \
-	chown www-data:www-data /var/www/html; \
-	chmod 777 /var/www/html
-
-# Apply stack smash protection to functions using local buffers and alloca()
-# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64)
-# Enable optimization (-O2)
-# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default)
-# https://github.com/docker-library/php/issues/272
-# -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php)
-ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-ENV PHP_CPPFLAGS="$PHP_CFLAGS"
-ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
-
-ENV PHP_VERSION 8.1.12RC1
-ENV PHP_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc"
-ENV PHP_SHA256="7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371"
-
-RUN set -eux; \
-	\
-	apk add --no-cache --virtual .fetch-deps gnupg; \
-	\
-	mkdir -p /usr/src; \
-	cd /usr/src; \
-	\
-	curl -fsSL -o php.tar.xz "$PHP_URL"; \
-	\
-	if [ -n "$PHP_SHA256" ]; then \
-		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \
-	fi; \
-	\
-	if [ -n "$PHP_ASC_URL" ]; then \
-		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; \
-		export GNUPGHOME="$(mktemp -d)"; \
-		for key in $GPG_KEYS; do \
-			gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
-		done; \
-		gpg --batch --verify php.tar.xz.asc php.tar.xz; \
-		gpgconf --kill all; \
-		rm -rf "$GNUPGHOME"; \
-	fi; \
-	\
-	apk del --no-network .fetch-deps
-
-COPY docker-php-source /usr/local/bin/
-
-RUN set -eux; \
-	apk add --no-cache --virtual .build-deps \
-		$PHPIZE_DEPS \
-		argon2-dev \
-		coreutils \
-		curl-dev \
-		gnu-libiconv-dev \
-		libsodium-dev \
-		libxml2-dev \
-		linux-headers \
-		oniguruma-dev \
-		openssl-dev \
-		readline-dev \
-		sqlite-dev \
-	; \
-	\
-# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php)
-	rm -vf /usr/include/iconv.h; \
-	\
-	export \
-		CFLAGS="$PHP_CFLAGS" \
-		CPPFLAGS="$PHP_CPPFLAGS" \
-		LDFLAGS="$PHP_LDFLAGS" \
-	; \
-	docker-php-source extract; \
-	cd /usr/src/php; \
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
-	./configure \
-		--build="$gnuArch" \
-		--with-config-file-path="$PHP_INI_DIR" \
-		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
-		\
-# make sure invalid --configure-flags are fatal errors instead of just warnings
-		--enable-option-checking=fatal \
-		\
-# https://github.com/docker-library/php/issues/439
-		--with-mhash \
-		\
-# https://github.com/docker-library/php/issues/822
-		--with-pic \
-		\
-# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (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)
-		--enable-mysqlnd \
-# https://wiki.php.net/rfc/argon2_password_hash
-		--with-password-argon2 \
-# https://wiki.php.net/rfc/libsodium
-		--with-sodium=shared \
-# always build against system sqlite3 (https://github.com/php/php-src/commit/6083a387a81dbbd66d6316a3a12a63f06d5f7109)
-		--with-pdo-sqlite=/usr \
-		--with-sqlite3=/usr \
-		\
-		--with-curl \
-		--with-iconv=/usr \
-		--with-openssl \
-		--with-readline \
-		--with-zlib \
-		\
-# https://github.com/docker-library/php/pull/1259
-		--enable-phpdbg \
-		--enable-phpdbg-readline \
-		\
-# 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 s390x
-# https://manpages.debian.org/bullseye/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
-		$(test "$gnuArch" = 's390x-linux-musl' && echo '--without-pcre-jit') \
-	; \
-	make -j "$(nproc)"; \
-	find -type f -name '*.a' -delete; \
-	make install; \
-	find \
-		/usr/local \
-		-type f \
-		-perm '/0111' \
-		-exec sh -euxc ' \
-			strip --strip-all "$@" || : \
-		' -- '{}' + \
-	; \
-	make clean; \
-	\
-# https://github.com/docker-library/php/issues/692 (copy default example "php.ini" files somewhere easily discoverable)
-	cp -v php.ini-* "$PHP_INI_DIR/"; \
-	\
-	cd /; \
-	docker-php-source delete; \
-	\
-	runDeps="$( \
-		scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \
-			| tr ',' '\n' \
-			| sort -u \
-			| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
-	)"; \
-	apk add --no-cache $runDeps; \
-	\
-	apk del --no-network .build-deps; \
-	\
-# update pecl channel definitions https://github.com/docker-library/php/issues/443
-	pecl update-channels; \
-	rm -rf /tmp/pear ~/.pearrc; \
-	\
-# smoke test
-	php --version
-
-COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
-
-# sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598)
-RUN docker-php-ext-enable sodium
-
-ENTRYPOINT ["docker-php-entrypoint"]
-CMD ["php", "-a"]
diff --git a/8.1-rc/alpine3.15/cli/docker-php-entrypoint b/8.1-rc/alpine3.15/cli/docker-php-entrypoint
deleted file mode 100755
index 88a016c1..00000000
--- a/8.1-rc/alpine3.15/cli/docker-php-entrypoint
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-# first arg is `-f` or `--some-option`
-if [ "${1#-}" != "$1" ]; then
-	set -- php "$@"
-fi
-
-exec "$@"
diff --git a/8.1-rc/alpine3.15/cli/docker-php-ext-configure b/8.1-rc/alpine3.15/cli/docker-php-ext-configure
deleted file mode 100755
index 34fc1337..00000000
--- a/8.1-rc/alpine3.15/cli/docker-php-ext-configure
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 ext-name [configure flags]"
-	echo "   ie: $0 gd --with-jpeg-dir=/usr/local/something"
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-ext="$1"
-if [ -z "$ext" ] || [ ! -d "$ext" ]; then
-	usage >&2
-	exit 1
-fi
-shift
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS
-	fi
-fi
-
-if command -v dpkg-architecture > /dev/null; then
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"
-	set -- --build="$gnuArch" "$@"
-fi
-
-cd "$ext"
-phpize
-./configure --enable-option-checking=fatal "$@"
diff --git a/8.1-rc/alpine3.15/cli/docker-php-ext-enable b/8.1-rc/alpine3.15/cli/docker-php-ext-enable
deleted file mode 100755
index 41d20bbe..00000000
--- a/8.1-rc/alpine3.15/cli/docker-php-ext-enable
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-set -e
-
-extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
-cd "$extDir"
-
-usage() {
-	echo "usage: $0 [options] module-name [module-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 --ini-name 0-apc.ini apcu apc"
-	echo
-	echo 'Possible values for module-name:'
-	find -maxdepth 1 \
-			-type f \
-			-name '*.so' \
-			-exec basename '{}' ';' \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-modules=
-for module; do
-	if [ -z "$module" ]; then
-		continue
-	fi
-	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
-		echo >&2 "error: '$module' does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	modules="$modules $module"
-done
-
-if [ -z "$modules" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
-		apkDel='.docker-php-ext-enable-deps'
-	fi
-fi
-
-for module in $modules; do
-	moduleFile="$module"
-	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
-		moduleFile="$module.so"
-	fi
-	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
-		# https://wiki.php.net/internals/extensions#loading_zend_extensions
-		line="zend_extension=$module"
-	else
-		line="extension=$module"
-	fi
-
-	ext="$(basename "$module")"
-	ext="${ext%.*}"
-	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
-		# this isn't perfect, but it's better than nothing
-		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
-		echo >&2
-		echo >&2 "warning: $ext ($module) is already loaded!"
-		echo >&2
-		continue
-	fi
-
-	case "$iniName" in
-		/*)
-			# allow an absolute path
-			ini="$iniName"
-			;;
-		*)
-			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
-			;;
-	esac
-	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
-		echo "$line" >> "$ini"
-	fi
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
diff --git a/8.1-rc/alpine3.15/cli/docker-php-ext-install b/8.1-rc/alpine3.15/cli/docker-php-ext-install
deleted file mode 100755
index aa0b96c5..00000000
--- a/8.1-rc/alpine3.15/cli/docker-php-ext-install
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 [-jN] [--ini-name file.ini] ext-name [ext-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop"
-	echo
-	echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?j:' --long 'help,ini-name:,jobs:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-j=1
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--jobs|-j) j="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-exts=
-for ext; do
-	if [ -z "$ext" ]; then
-		continue
-	fi
-	if [ ! -d "$ext" ]; then
-		echo >&2 "error: $PWD/$ext does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	exts="$exts $ext"
-done
-
-if [ -z "$exts" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if [ -n "$PHPIZE_DEPS" ]; then
-		if apk info --installed .phpize-deps-configure > /dev/null; then
-			apkDel='.phpize-deps-configure'
-		elif ! apk info --installed .phpize-deps > /dev/null; then
-			apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
-			apkDel='.phpize-deps'
-		fi
-	fi
-fi
-
-popDir="$PWD"
-for ext in $exts; do
-	cd "$ext"
-
-	[ -e Makefile ] || docker-php-ext-configure "$ext"
-
-	make -j"$j"
-
-	if ! php -n -d 'display_errors=stderr' -r 'exit(ZEND_DEBUG_BUILD ? 0 : 1);' > /dev/null; then
-		# only "strip" modules if we aren't using a debug build of PHP
-		# (none of our builds are debug builds, but PHP might be recompiled with "--enable-debug" configure option)
-		# https://github.com/docker-library/php/issues/1268
-
-		find modules \
-			-maxdepth 1 \
-			-name '*.so' \
-			-exec sh -euxc ' \
-				strip --strip-all "$@" || :
-			' -- '{}' +
-	fi
-
-	make -j"$j" install
-
-	find modules \
-		-maxdepth 1 \
-		-name '*.so' \
-		-exec basename '{}' ';' \
-			| xargs -r docker-php-ext-enable ${iniName:+--ini-name "$iniName"}
-
-	make -j"$j" clean
-
-	cd "$popDir"
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
-
-if [ -e /usr/src/php/.docker-delete-me ]; then
-	docker-php-source delete
-fi
diff --git a/8.1-rc/alpine3.15/cli/docker-php-source b/8.1-rc/alpine3.15/cli/docker-php-source
deleted file mode 100755
index 9033d243..00000000
--- a/8.1-rc/alpine3.15/cli/docker-php-source
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-dir=/usr/src/php
-
-usage() {
-	echo "usage: $0 COMMAND"
-	echo
-	echo "Manage php source tarball lifecycle."
-	echo
-	echo "Commands:"
-	echo "   extract  extract php source tarball into directory $dir if not already done."
-	echo "   delete   delete extracted php source located into $dir if not already done."
-	echo
-}
-
-case "$1" in
-	extract)
-		mkdir -p "$dir"
-		if [ ! -f "$dir/.docker-extracted" ]; then
-			tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1
-			touch "$dir/.docker-extracted"
-		fi
-		;;
-
-	delete)
-		rm -rf "$dir"
-		;;
-
-	*)
-		usage
-		exit 1
-		;;
-esac
diff --git a/8.1-rc/alpine3.15/fpm/Dockerfile b/8.1-rc/alpine3.15/fpm/Dockerfile
deleted file mode 100644
index f69a5c56..00000000
--- a/8.1-rc/alpine3.15/fpm/Dockerfile
+++ /dev/null
@@ -1,256 +0,0 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM alpine:3.15
-
-# dependencies required for running "phpize"
-# these get automatically installed and removed by "docker-php-ext-*" (unless they're already installed)
-ENV PHPIZE_DEPS \
-		autoconf \
-		dpkg-dev dpkg \
-		file \
-		g++ \
-		gcc \
-		libc-dev \
-		make \
-		pkgconf \
-		re2c
-
-# persistent / runtime deps
-RUN apk add --no-cache \
-		ca-certificates \
-		curl \
-		tar \
-		xz \
-# https://github.com/docker-library/php/issues/494
-		openssl
-
-# ensure www-data user exists
-RUN set -eux; \
-	adduser -u 82 -D -S -G www-data www-data
-# 82 is the standard uid/gid for "www-data" in Alpine
-# https://git.alpinelinux.org/aports/tree/main/apache2/apache2.pre-install?h=3.14-stable
-# https://git.alpinelinux.org/aports/tree/main/lighttpd/lighttpd.pre-install?h=3.14-stable
-# https://git.alpinelinux.org/aports/tree/main/nginx/nginx.pre-install?h=3.14-stable
-
-ENV PHP_INI_DIR /usr/local/etc/php
-RUN set -eux; \
-	mkdir -p "$PHP_INI_DIR/conf.d"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-	[ ! -d /var/www/html ]; \
-	mkdir -p /var/www/html; \
-	chown www-data:www-data /var/www/html; \
-	chmod 777 /var/www/html
-
-# Apply stack smash protection to functions using local buffers and alloca()
-# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64)
-# Enable optimization (-O2)
-# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default)
-# https://github.com/docker-library/php/issues/272
-# -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php)
-ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-ENV PHP_CPPFLAGS="$PHP_CFLAGS"
-ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
-
-ENV PHP_VERSION 8.1.12RC1
-ENV PHP_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc"
-ENV PHP_SHA256="7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371"
-
-RUN set -eux; \
-	\
-	apk add --no-cache --virtual .fetch-deps gnupg; \
-	\
-	mkdir -p /usr/src; \
-	cd /usr/src; \
-	\
-	curl -fsSL -o php.tar.xz "$PHP_URL"; \
-	\
-	if [ -n "$PHP_SHA256" ]; then \
-		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \
-	fi; \
-	\
-	if [ -n "$PHP_ASC_URL" ]; then \
-		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; \
-		export GNUPGHOME="$(mktemp -d)"; \
-		for key in $GPG_KEYS; do \
-			gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
-		done; \
-		gpg --batch --verify php.tar.xz.asc php.tar.xz; \
-		gpgconf --kill all; \
-		rm -rf "$GNUPGHOME"; \
-	fi; \
-	\
-	apk del --no-network .fetch-deps
-
-COPY docker-php-source /usr/local/bin/
-
-RUN set -eux; \
-	apk add --no-cache --virtual .build-deps \
-		$PHPIZE_DEPS \
-		argon2-dev \
-		coreutils \
-		curl-dev \
-		gnu-libiconv-dev \
-		libsodium-dev \
-		libxml2-dev \
-		linux-headers \
-		oniguruma-dev \
-		openssl-dev \
-		readline-dev \
-		sqlite-dev \
-	; \
-	\
-# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php)
-	rm -vf /usr/include/iconv.h; \
-	\
-	export \
-		CFLAGS="$PHP_CFLAGS" \
-		CPPFLAGS="$PHP_CPPFLAGS" \
-		LDFLAGS="$PHP_LDFLAGS" \
-	; \
-	docker-php-source extract; \
-	cd /usr/src/php; \
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
-	./configure \
-		--build="$gnuArch" \
-		--with-config-file-path="$PHP_INI_DIR" \
-		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
-		\
-# make sure invalid --configure-flags are fatal errors instead of just warnings
-		--enable-option-checking=fatal \
-		\
-# https://github.com/docker-library/php/issues/439
-		--with-mhash \
-		\
-# https://github.com/docker-library/php/issues/822
-		--with-pic \
-		\
-# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (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)
-		--enable-mysqlnd \
-# https://wiki.php.net/rfc/argon2_password_hash
-		--with-password-argon2 \
-# https://wiki.php.net/rfc/libsodium
-		--with-sodium=shared \
-# always build against system sqlite3 (https://github.com/php/php-src/commit/6083a387a81dbbd66d6316a3a12a63f06d5f7109)
-		--with-pdo-sqlite=/usr \
-		--with-sqlite3=/usr \
-		\
-		--with-curl \
-		--with-iconv=/usr \
-		--with-openssl \
-		--with-readline \
-		--with-zlib \
-		\
-# https://github.com/bwoebi/phpdbg-docs/issues/1#issuecomment-163872806 ("phpdbg is primarily a CLI debugger, and is not suitable for debugging an fpm stack.")
-		--disable-phpdbg \
-		\
-# 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 s390x
-# https://manpages.debian.org/bullseye/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
-		$(test "$gnuArch" = 's390x-linux-musl' && echo '--without-pcre-jit') \
-		\
-		--disable-cgi \
-		\
-		--enable-fpm \
-		--with-fpm-user=www-data \
-		--with-fpm-group=www-data \
-	; \
-	make -j "$(nproc)"; \
-	find -type f -name '*.a' -delete; \
-	make install; \
-	find \
-		/usr/local \
-		-type f \
-		-perm '/0111' \
-		-exec sh -euxc ' \
-			strip --strip-all "$@" || : \
-		' -- '{}' + \
-	; \
-	make clean; \
-	\
-# https://github.com/docker-library/php/issues/692 (copy default example "php.ini" files somewhere easily discoverable)
-	cp -v php.ini-* "$PHP_INI_DIR/"; \
-	\
-	cd /; \
-	docker-php-source delete; \
-	\
-	runDeps="$( \
-		scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \
-			| tr ',' '\n' \
-			| sort -u \
-			| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
-	)"; \
-	apk add --no-cache $runDeps; \
-	\
-	apk del --no-network .build-deps; \
-	\
-# update pecl channel definitions https://github.com/docker-library/php/issues/443
-	pecl update-channels; \
-	rm -rf /tmp/pear ~/.pearrc; \
-	\
-# smoke test
-	php --version
-
-COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
-
-# sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598)
-RUN docker-php-ext-enable sodium
-
-ENTRYPOINT ["docker-php-entrypoint"]
-WORKDIR /var/www/html
-
-RUN set -eux; \
-	cd /usr/local/etc; \
-	if [ -d php-fpm.d ]; then \
-		# for some reason, upstream's php-fpm.conf.default has "include=NONE/etc/php-fpm.d/*.conf"
-		sed 's!=NONE/!=!g' php-fpm.conf.default | tee php-fpm.conf > /dev/null; \
-		cp php-fpm.d/www.conf.default php-fpm.d/www.conf; \
-	else \
-		# PHP 5.x doesn't use "include=" by default, so we'll create our own simple config that mimics PHP 7+ for consistency
-		mkdir php-fpm.d; \
-		cp php-fpm.conf.default php-fpm.d/www.conf; \
-		{ \
-			echo '[global]'; \
-			echo 'include=etc/php-fpm.d/*.conf'; \
-		} | tee php-fpm.conf; \
-	fi; \
-	{ \
-		echo '[global]'; \
-		echo 'error_log = /proc/self/fd/2'; \
-		echo; echo '; https://github.com/docker-library/php/pull/725#issuecomment-443540114'; echo 'log_limit = 8192'; \
-		echo; \
-		echo '[www]'; \
-		echo '; if we send this to /proc/self/fd/1, it never appears'; \
-		echo 'access.log = /proc/self/fd/2'; \
-		echo; \
-		echo 'clear_env = no'; \
-		echo; \
-		echo '; Ensure worker stdout and stderr are sent to the main error log.'; \
-		echo 'catch_workers_output = yes'; \
-		echo 'decorate_workers_output = no'; \
-	} | tee php-fpm.d/docker.conf; \
-	{ \
-		echo '[global]'; \
-		echo 'daemonize = no'; \
-		echo; \
-		echo '[www]'; \
-		echo 'listen = 9000'; \
-	} | tee php-fpm.d/zz-docker.conf
-
-# Override stop signal to stop process gracefully
-# https://github.com/php/php-src/blob/17baa87faddc2550def3ae7314236826bc1b1398/sapi/fpm/php-fpm.8.in#L163
-STOPSIGNAL SIGQUIT
-
-EXPOSE 9000
-CMD ["php-fpm"]
diff --git a/8.1-rc/alpine3.15/fpm/docker-php-entrypoint b/8.1-rc/alpine3.15/fpm/docker-php-entrypoint
deleted file mode 100755
index 86343d80..00000000
--- a/8.1-rc/alpine3.15/fpm/docker-php-entrypoint
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-# first arg is `-f` or `--some-option`
-if [ "${1#-}" != "$1" ]; then
-	set -- php-fpm "$@"
-fi
-
-exec "$@"
diff --git a/8.1-rc/alpine3.15/fpm/docker-php-ext-configure b/8.1-rc/alpine3.15/fpm/docker-php-ext-configure
deleted file mode 100755
index 34fc1337..00000000
--- a/8.1-rc/alpine3.15/fpm/docker-php-ext-configure
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 ext-name [configure flags]"
-	echo "   ie: $0 gd --with-jpeg-dir=/usr/local/something"
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-ext="$1"
-if [ -z "$ext" ] || [ ! -d "$ext" ]; then
-	usage >&2
-	exit 1
-fi
-shift
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS
-	fi
-fi
-
-if command -v dpkg-architecture > /dev/null; then
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"
-	set -- --build="$gnuArch" "$@"
-fi
-
-cd "$ext"
-phpize
-./configure --enable-option-checking=fatal "$@"
diff --git a/8.1-rc/alpine3.15/fpm/docker-php-ext-enable b/8.1-rc/alpine3.15/fpm/docker-php-ext-enable
deleted file mode 100755
index 41d20bbe..00000000
--- a/8.1-rc/alpine3.15/fpm/docker-php-ext-enable
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-set -e
-
-extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
-cd "$extDir"
-
-usage() {
-	echo "usage: $0 [options] module-name [module-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 --ini-name 0-apc.ini apcu apc"
-	echo
-	echo 'Possible values for module-name:'
-	find -maxdepth 1 \
-			-type f \
-			-name '*.so' \
-			-exec basename '{}' ';' \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-modules=
-for module; do
-	if [ -z "$module" ]; then
-		continue
-	fi
-	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
-		echo >&2 "error: '$module' does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	modules="$modules $module"
-done
-
-if [ -z "$modules" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
-		apkDel='.docker-php-ext-enable-deps'
-	fi
-fi
-
-for module in $modules; do
-	moduleFile="$module"
-	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
-		moduleFile="$module.so"
-	fi
-	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
-		# https://wiki.php.net/internals/extensions#loading_zend_extensions
-		line="zend_extension=$module"
-	else
-		line="extension=$module"
-	fi
-
-	ext="$(basename "$module")"
-	ext="${ext%.*}"
-	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
-		# this isn't perfect, but it's better than nothing
-		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
-		echo >&2
-		echo >&2 "warning: $ext ($module) is already loaded!"
-		echo >&2
-		continue
-	fi
-
-	case "$iniName" in
-		/*)
-			# allow an absolute path
-			ini="$iniName"
-			;;
-		*)
-			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
-			;;
-	esac
-	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
-		echo "$line" >> "$ini"
-	fi
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
diff --git a/8.1-rc/alpine3.15/fpm/docker-php-ext-install b/8.1-rc/alpine3.15/fpm/docker-php-ext-install
deleted file mode 100755
index aa0b96c5..00000000
--- a/8.1-rc/alpine3.15/fpm/docker-php-ext-install
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 [-jN] [--ini-name file.ini] ext-name [ext-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop"
-	echo
-	echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?j:' --long 'help,ini-name:,jobs:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-j=1
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--jobs|-j) j="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-exts=
-for ext; do
-	if [ -z "$ext" ]; then
-		continue
-	fi
-	if [ ! -d "$ext" ]; then
-		echo >&2 "error: $PWD/$ext does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	exts="$exts $ext"
-done
-
-if [ -z "$exts" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if [ -n "$PHPIZE_DEPS" ]; then
-		if apk info --installed .phpize-deps-configure > /dev/null; then
-			apkDel='.phpize-deps-configure'
-		elif ! apk info --installed .phpize-deps > /dev/null; then
-			apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
-			apkDel='.phpize-deps'
-		fi
-	fi
-fi
-
-popDir="$PWD"
-for ext in $exts; do
-	cd "$ext"
-
-	[ -e Makefile ] || docker-php-ext-configure "$ext"
-
-	make -j"$j"
-
-	if ! php -n -d 'display_errors=stderr' -r 'exit(ZEND_DEBUG_BUILD ? 0 : 1);' > /dev/null; then
-		# only "strip" modules if we aren't using a debug build of PHP
-		# (none of our builds are debug builds, but PHP might be recompiled with "--enable-debug" configure option)
-		# https://github.com/docker-library/php/issues/1268
-
-		find modules \
-			-maxdepth 1 \
-			-name '*.so' \
-			-exec sh -euxc ' \
-				strip --strip-all "$@" || :
-			' -- '{}' +
-	fi
-
-	make -j"$j" install
-
-	find modules \
-		-maxdepth 1 \
-		-name '*.so' \
-		-exec basename '{}' ';' \
-			| xargs -r docker-php-ext-enable ${iniName:+--ini-name "$iniName"}
-
-	make -j"$j" clean
-
-	cd "$popDir"
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
-
-if [ -e /usr/src/php/.docker-delete-me ]; then
-	docker-php-source delete
-fi
diff --git a/8.1-rc/alpine3.15/fpm/docker-php-source b/8.1-rc/alpine3.15/fpm/docker-php-source
deleted file mode 100755
index 9033d243..00000000
--- a/8.1-rc/alpine3.15/fpm/docker-php-source
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-dir=/usr/src/php
-
-usage() {
-	echo "usage: $0 COMMAND"
-	echo
-	echo "Manage php source tarball lifecycle."
-	echo
-	echo "Commands:"
-	echo "   extract  extract php source tarball into directory $dir if not already done."
-	echo "   delete   delete extracted php source located into $dir if not already done."
-	echo
-}
-
-case "$1" in
-	extract)
-		mkdir -p "$dir"
-		if [ ! -f "$dir/.docker-extracted" ]; then
-			tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1
-			touch "$dir/.docker-extracted"
-		fi
-		;;
-
-	delete)
-		rm -rf "$dir"
-		;;
-
-	*)
-		usage
-		exit 1
-		;;
-esac
diff --git a/8.1-rc/alpine3.15/zts/Dockerfile b/8.1-rc/alpine3.15/zts/Dockerfile
deleted file mode 100644
index e79d954a..00000000
--- a/8.1-rc/alpine3.15/zts/Dockerfile
+++ /dev/null
@@ -1,209 +0,0 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM alpine:3.15
-
-# dependencies required for running "phpize"
-# these get automatically installed and removed by "docker-php-ext-*" (unless they're already installed)
-ENV PHPIZE_DEPS \
-		autoconf \
-		dpkg-dev dpkg \
-		file \
-		g++ \
-		gcc \
-		libc-dev \
-		make \
-		pkgconf \
-		re2c
-
-# persistent / runtime deps
-RUN apk add --no-cache \
-		ca-certificates \
-		curl \
-		tar \
-		xz \
-# https://github.com/docker-library/php/issues/494
-		openssl
-
-# ensure www-data user exists
-RUN set -eux; \
-	adduser -u 82 -D -S -G www-data www-data
-# 82 is the standard uid/gid for "www-data" in Alpine
-# https://git.alpinelinux.org/aports/tree/main/apache2/apache2.pre-install?h=3.14-stable
-# https://git.alpinelinux.org/aports/tree/main/lighttpd/lighttpd.pre-install?h=3.14-stable
-# https://git.alpinelinux.org/aports/tree/main/nginx/nginx.pre-install?h=3.14-stable
-
-ENV PHP_INI_DIR /usr/local/etc/php
-RUN set -eux; \
-	mkdir -p "$PHP_INI_DIR/conf.d"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-	[ ! -d /var/www/html ]; \
-	mkdir -p /var/www/html; \
-	chown www-data:www-data /var/www/html; \
-	chmod 777 /var/www/html
-
-# Apply stack smash protection to functions using local buffers and alloca()
-# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64)
-# Enable optimization (-O2)
-# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default)
-# https://github.com/docker-library/php/issues/272
-# -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php)
-ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-ENV PHP_CPPFLAGS="$PHP_CFLAGS"
-ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
-
-ENV PHP_VERSION 8.1.12RC1
-ENV PHP_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc"
-ENV PHP_SHA256="7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371"
-
-RUN set -eux; \
-	\
-	apk add --no-cache --virtual .fetch-deps gnupg; \
-	\
-	mkdir -p /usr/src; \
-	cd /usr/src; \
-	\
-	curl -fsSL -o php.tar.xz "$PHP_URL"; \
-	\
-	if [ -n "$PHP_SHA256" ]; then \
-		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \
-	fi; \
-	\
-	if [ -n "$PHP_ASC_URL" ]; then \
-		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; \
-		export GNUPGHOME="$(mktemp -d)"; \
-		for key in $GPG_KEYS; do \
-			gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
-		done; \
-		gpg --batch --verify php.tar.xz.asc php.tar.xz; \
-		gpgconf --kill all; \
-		rm -rf "$GNUPGHOME"; \
-	fi; \
-	\
-	apk del --no-network .fetch-deps
-
-COPY docker-php-source /usr/local/bin/
-
-RUN set -eux; \
-	apk add --no-cache --virtual .build-deps \
-		$PHPIZE_DEPS \
-		argon2-dev \
-		coreutils \
-		curl-dev \
-		gnu-libiconv-dev \
-		libsodium-dev \
-		libxml2-dev \
-		linux-headers \
-		oniguruma-dev \
-		openssl-dev \
-		readline-dev \
-		sqlite-dev \
-	; \
-	\
-# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php)
-	rm -vf /usr/include/iconv.h; \
-	\
-	export \
-		CFLAGS="$PHP_CFLAGS" \
-		CPPFLAGS="$PHP_CPPFLAGS" \
-		LDFLAGS="$PHP_LDFLAGS" \
-	; \
-	docker-php-source extract; \
-	cd /usr/src/php; \
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
-	./configure \
-		--build="$gnuArch" \
-		--with-config-file-path="$PHP_INI_DIR" \
-		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
-		\
-# make sure invalid --configure-flags are fatal errors instead of just warnings
-		--enable-option-checking=fatal \
-		\
-# https://github.com/docker-library/php/issues/439
-		--with-mhash \
-		\
-# https://github.com/docker-library/php/issues/822
-		--with-pic \
-		\
-# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (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)
-		--enable-mysqlnd \
-# https://wiki.php.net/rfc/argon2_password_hash
-		--with-password-argon2 \
-# https://wiki.php.net/rfc/libsodium
-		--with-sodium=shared \
-# always build against system sqlite3 (https://github.com/php/php-src/commit/6083a387a81dbbd66d6316a3a12a63f06d5f7109)
-		--with-pdo-sqlite=/usr \
-		--with-sqlite3=/usr \
-		\
-		--with-curl \
-		--with-iconv=/usr \
-		--with-openssl \
-		--with-readline \
-		--with-zlib \
-		\
-# https://github.com/bwoebi/phpdbg-docs/issues/1#issuecomment-163872806 ("phpdbg is primarily a CLI debugger, and is not suitable for debugging an fpm stack.")
-		--disable-phpdbg \
-		\
-# 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 s390x
-# https://manpages.debian.org/bullseye/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
-		$(test "$gnuArch" = 's390x-linux-musl' && echo '--without-pcre-jit') \
-		\
-		--disable-cgi \
-		\
-		--enable-zts \
-	; \
-	make -j "$(nproc)"; \
-	find -type f -name '*.a' -delete; \
-	make install; \
-	find \
-		/usr/local \
-		-type f \
-		-perm '/0111' \
-		-exec sh -euxc ' \
-			strip --strip-all "$@" || : \
-		' -- '{}' + \
-	; \
-	make clean; \
-	\
-# https://github.com/docker-library/php/issues/692 (copy default example "php.ini" files somewhere easily discoverable)
-	cp -v php.ini-* "$PHP_INI_DIR/"; \
-	\
-	cd /; \
-	docker-php-source delete; \
-	\
-	runDeps="$( \
-		scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \
-			| tr ',' '\n' \
-			| sort -u \
-			| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
-	)"; \
-	apk add --no-cache $runDeps; \
-	\
-	apk del --no-network .build-deps; \
-	\
-# update pecl channel definitions https://github.com/docker-library/php/issues/443
-	pecl update-channels; \
-	rm -rf /tmp/pear ~/.pearrc; \
-	\
-# smoke test
-	php --version
-
-COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
-
-# sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598)
-RUN docker-php-ext-enable sodium
-
-ENTRYPOINT ["docker-php-entrypoint"]
-CMD ["php", "-a"]
diff --git a/8.1-rc/alpine3.15/zts/docker-php-entrypoint b/8.1-rc/alpine3.15/zts/docker-php-entrypoint
deleted file mode 100755
index 88a016c1..00000000
--- a/8.1-rc/alpine3.15/zts/docker-php-entrypoint
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-# first arg is `-f` or `--some-option`
-if [ "${1#-}" != "$1" ]; then
-	set -- php "$@"
-fi
-
-exec "$@"
diff --git a/8.1-rc/alpine3.15/zts/docker-php-ext-configure b/8.1-rc/alpine3.15/zts/docker-php-ext-configure
deleted file mode 100755
index 34fc1337..00000000
--- a/8.1-rc/alpine3.15/zts/docker-php-ext-configure
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 ext-name [configure flags]"
-	echo "   ie: $0 gd --with-jpeg-dir=/usr/local/something"
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-ext="$1"
-if [ -z "$ext" ] || [ ! -d "$ext" ]; then
-	usage >&2
-	exit 1
-fi
-shift
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS
-	fi
-fi
-
-if command -v dpkg-architecture > /dev/null; then
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"
-	set -- --build="$gnuArch" "$@"
-fi
-
-cd "$ext"
-phpize
-./configure --enable-option-checking=fatal "$@"
diff --git a/8.1-rc/alpine3.15/zts/docker-php-ext-enable b/8.1-rc/alpine3.15/zts/docker-php-ext-enable
deleted file mode 100755
index 41d20bbe..00000000
--- a/8.1-rc/alpine3.15/zts/docker-php-ext-enable
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-set -e
-
-extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
-cd "$extDir"
-
-usage() {
-	echo "usage: $0 [options] module-name [module-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 --ini-name 0-apc.ini apcu apc"
-	echo
-	echo 'Possible values for module-name:'
-	find -maxdepth 1 \
-			-type f \
-			-name '*.so' \
-			-exec basename '{}' ';' \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-modules=
-for module; do
-	if [ -z "$module" ]; then
-		continue
-	fi
-	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
-		echo >&2 "error: '$module' does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	modules="$modules $module"
-done
-
-if [ -z "$modules" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
-		apkDel='.docker-php-ext-enable-deps'
-	fi
-fi
-
-for module in $modules; do
-	moduleFile="$module"
-	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
-		moduleFile="$module.so"
-	fi
-	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
-		# https://wiki.php.net/internals/extensions#loading_zend_extensions
-		line="zend_extension=$module"
-	else
-		line="extension=$module"
-	fi
-
-	ext="$(basename "$module")"
-	ext="${ext%.*}"
-	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
-		# this isn't perfect, but it's better than nothing
-		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
-		echo >&2
-		echo >&2 "warning: $ext ($module) is already loaded!"
-		echo >&2
-		continue
-	fi
-
-	case "$iniName" in
-		/*)
-			# allow an absolute path
-			ini="$iniName"
-			;;
-		*)
-			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
-			;;
-	esac
-	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
-		echo "$line" >> "$ini"
-	fi
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
diff --git a/8.1-rc/alpine3.15/zts/docker-php-ext-install b/8.1-rc/alpine3.15/zts/docker-php-ext-install
deleted file mode 100755
index aa0b96c5..00000000
--- a/8.1-rc/alpine3.15/zts/docker-php-ext-install
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 [-jN] [--ini-name file.ini] ext-name [ext-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop"
-	echo
-	echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?j:' --long 'help,ini-name:,jobs:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-j=1
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--jobs|-j) j="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-exts=
-for ext; do
-	if [ -z "$ext" ]; then
-		continue
-	fi
-	if [ ! -d "$ext" ]; then
-		echo >&2 "error: $PWD/$ext does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	exts="$exts $ext"
-done
-
-if [ -z "$exts" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if [ -n "$PHPIZE_DEPS" ]; then
-		if apk info --installed .phpize-deps-configure > /dev/null; then
-			apkDel='.phpize-deps-configure'
-		elif ! apk info --installed .phpize-deps > /dev/null; then
-			apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
-			apkDel='.phpize-deps'
-		fi
-	fi
-fi
-
-popDir="$PWD"
-for ext in $exts; do
-	cd "$ext"
-
-	[ -e Makefile ] || docker-php-ext-configure "$ext"
-
-	make -j"$j"
-
-	if ! php -n -d 'display_errors=stderr' -r 'exit(ZEND_DEBUG_BUILD ? 0 : 1);' > /dev/null; then
-		# only "strip" modules if we aren't using a debug build of PHP
-		# (none of our builds are debug builds, but PHP might be recompiled with "--enable-debug" configure option)
-		# https://github.com/docker-library/php/issues/1268
-
-		find modules \
-			-maxdepth 1 \
-			-name '*.so' \
-			-exec sh -euxc ' \
-				strip --strip-all "$@" || :
-			' -- '{}' +
-	fi
-
-	make -j"$j" install
-
-	find modules \
-		-maxdepth 1 \
-		-name '*.so' \
-		-exec basename '{}' ';' \
-			| xargs -r docker-php-ext-enable ${iniName:+--ini-name "$iniName"}
-
-	make -j"$j" clean
-
-	cd "$popDir"
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
-
-if [ -e /usr/src/php/.docker-delete-me ]; then
-	docker-php-source delete
-fi
diff --git a/8.1-rc/alpine3.15/zts/docker-php-source b/8.1-rc/alpine3.15/zts/docker-php-source
deleted file mode 100755
index 9033d243..00000000
--- a/8.1-rc/alpine3.15/zts/docker-php-source
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-dir=/usr/src/php
-
-usage() {
-	echo "usage: $0 COMMAND"
-	echo
-	echo "Manage php source tarball lifecycle."
-	echo
-	echo "Commands:"
-	echo "   extract  extract php source tarball into directory $dir if not already done."
-	echo "   delete   delete extracted php source located into $dir if not already done."
-	echo
-}
-
-case "$1" in
-	extract)
-		mkdir -p "$dir"
-		if [ ! -f "$dir/.docker-extracted" ]; then
-			tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1
-			touch "$dir/.docker-extracted"
-		fi
-		;;
-
-	delete)
-		rm -rf "$dir"
-		;;
-
-	*)
-		usage
-		exit 1
-		;;
-esac
diff --git a/8.1-rc/alpine3.16/cli/Dockerfile b/8.1-rc/alpine3.16/cli/Dockerfile
deleted file mode 100644
index 4b971a33..00000000
--- a/8.1-rc/alpine3.16/cli/Dockerfile
+++ /dev/null
@@ -1,206 +0,0 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM alpine:3.16
-
-# dependencies required for running "phpize"
-# these get automatically installed and removed by "docker-php-ext-*" (unless they're already installed)
-ENV PHPIZE_DEPS \
-		autoconf \
-		dpkg-dev dpkg \
-		file \
-		g++ \
-		gcc \
-		libc-dev \
-		make \
-		pkgconf \
-		re2c
-
-# persistent / runtime deps
-RUN apk add --no-cache \
-		ca-certificates \
-		curl \
-		tar \
-		xz \
-# https://github.com/docker-library/php/issues/494
-		openssl
-
-# ensure www-data user exists
-RUN set -eux; \
-	adduser -u 82 -D -S -G www-data www-data
-# 82 is the standard uid/gid for "www-data" in Alpine
-# https://git.alpinelinux.org/aports/tree/main/apache2/apache2.pre-install?h=3.14-stable
-# https://git.alpinelinux.org/aports/tree/main/lighttpd/lighttpd.pre-install?h=3.14-stable
-# https://git.alpinelinux.org/aports/tree/main/nginx/nginx.pre-install?h=3.14-stable
-
-ENV PHP_INI_DIR /usr/local/etc/php
-RUN set -eux; \
-	mkdir -p "$PHP_INI_DIR/conf.d"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-	[ ! -d /var/www/html ]; \
-	mkdir -p /var/www/html; \
-	chown www-data:www-data /var/www/html; \
-	chmod 777 /var/www/html
-
-# Apply stack smash protection to functions using local buffers and alloca()
-# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64)
-# Enable optimization (-O2)
-# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default)
-# https://github.com/docker-library/php/issues/272
-# -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php)
-ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-ENV PHP_CPPFLAGS="$PHP_CFLAGS"
-ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
-
-ENV PHP_VERSION 8.1.12RC1
-ENV PHP_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc"
-ENV PHP_SHA256="7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371"
-
-RUN set -eux; \
-	\
-	apk add --no-cache --virtual .fetch-deps gnupg; \
-	\
-	mkdir -p /usr/src; \
-	cd /usr/src; \
-	\
-	curl -fsSL -o php.tar.xz "$PHP_URL"; \
-	\
-	if [ -n "$PHP_SHA256" ]; then \
-		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \
-	fi; \
-	\
-	if [ -n "$PHP_ASC_URL" ]; then \
-		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; \
-		export GNUPGHOME="$(mktemp -d)"; \
-		for key in $GPG_KEYS; do \
-			gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
-		done; \
-		gpg --batch --verify php.tar.xz.asc php.tar.xz; \
-		gpgconf --kill all; \
-		rm -rf "$GNUPGHOME"; \
-	fi; \
-	\
-	apk del --no-network .fetch-deps
-
-COPY docker-php-source /usr/local/bin/
-
-RUN set -eux; \
-	apk add --no-cache --virtual .build-deps \
-		$PHPIZE_DEPS \
-		argon2-dev \
-		coreutils \
-		curl-dev \
-		gnu-libiconv-dev \
-		libsodium-dev \
-		libxml2-dev \
-		linux-headers \
-		oniguruma-dev \
-		openssl-dev \
-		readline-dev \
-		sqlite-dev \
-	; \
-	\
-# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php)
-	rm -vf /usr/include/iconv.h; \
-	\
-	export \
-		CFLAGS="$PHP_CFLAGS" \
-		CPPFLAGS="$PHP_CPPFLAGS" \
-		LDFLAGS="$PHP_LDFLAGS" \
-	; \
-	docker-php-source extract; \
-	cd /usr/src/php; \
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
-	./configure \
-		--build="$gnuArch" \
-		--with-config-file-path="$PHP_INI_DIR" \
-		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
-		\
-# make sure invalid --configure-flags are fatal errors instead of just warnings
-		--enable-option-checking=fatal \
-		\
-# https://github.com/docker-library/php/issues/439
-		--with-mhash \
-		\
-# https://github.com/docker-library/php/issues/822
-		--with-pic \
-		\
-# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (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)
-		--enable-mysqlnd \
-# https://wiki.php.net/rfc/argon2_password_hash
-		--with-password-argon2 \
-# https://wiki.php.net/rfc/libsodium
-		--with-sodium=shared \
-# always build against system sqlite3 (https://github.com/php/php-src/commit/6083a387a81dbbd66d6316a3a12a63f06d5f7109)
-		--with-pdo-sqlite=/usr \
-		--with-sqlite3=/usr \
-		\
-		--with-curl \
-		--with-iconv=/usr \
-		--with-openssl \
-		--with-readline \
-		--with-zlib \
-		\
-# https://github.com/docker-library/php/pull/1259
-		--enable-phpdbg \
-		--enable-phpdbg-readline \
-		\
-# 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 s390x
-# https://manpages.debian.org/bullseye/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
-		$(test "$gnuArch" = 's390x-linux-musl' && echo '--without-pcre-jit') \
-	; \
-	make -j "$(nproc)"; \
-	find -type f -name '*.a' -delete; \
-	make install; \
-	find \
-		/usr/local \
-		-type f \
-		-perm '/0111' \
-		-exec sh -euxc ' \
-			strip --strip-all "$@" || : \
-		' -- '{}' + \
-	; \
-	make clean; \
-	\
-# https://github.com/docker-library/php/issues/692 (copy default example "php.ini" files somewhere easily discoverable)
-	cp -v php.ini-* "$PHP_INI_DIR/"; \
-	\
-	cd /; \
-	docker-php-source delete; \
-	\
-	runDeps="$( \
-		scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \
-			| tr ',' '\n' \
-			| sort -u \
-			| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
-	)"; \
-	apk add --no-cache $runDeps; \
-	\
-	apk del --no-network .build-deps; \
-	\
-# update pecl channel definitions https://github.com/docker-library/php/issues/443
-	pecl update-channels; \
-	rm -rf /tmp/pear ~/.pearrc; \
-	\
-# smoke test
-	php --version
-
-COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
-
-# sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598)
-RUN docker-php-ext-enable sodium
-
-ENTRYPOINT ["docker-php-entrypoint"]
-CMD ["php", "-a"]
diff --git a/8.1-rc/alpine3.16/cli/docker-php-entrypoint b/8.1-rc/alpine3.16/cli/docker-php-entrypoint
deleted file mode 100755
index 88a016c1..00000000
--- a/8.1-rc/alpine3.16/cli/docker-php-entrypoint
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-# first arg is `-f` or `--some-option`
-if [ "${1#-}" != "$1" ]; then
-	set -- php "$@"
-fi
-
-exec "$@"
diff --git a/8.1-rc/alpine3.16/cli/docker-php-ext-configure b/8.1-rc/alpine3.16/cli/docker-php-ext-configure
deleted file mode 100755
index 34fc1337..00000000
--- a/8.1-rc/alpine3.16/cli/docker-php-ext-configure
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 ext-name [configure flags]"
-	echo "   ie: $0 gd --with-jpeg-dir=/usr/local/something"
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-ext="$1"
-if [ -z "$ext" ] || [ ! -d "$ext" ]; then
-	usage >&2
-	exit 1
-fi
-shift
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS
-	fi
-fi
-
-if command -v dpkg-architecture > /dev/null; then
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"
-	set -- --build="$gnuArch" "$@"
-fi
-
-cd "$ext"
-phpize
-./configure --enable-option-checking=fatal "$@"
diff --git a/8.1-rc/alpine3.16/cli/docker-php-ext-enable b/8.1-rc/alpine3.16/cli/docker-php-ext-enable
deleted file mode 100755
index 41d20bbe..00000000
--- a/8.1-rc/alpine3.16/cli/docker-php-ext-enable
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-set -e
-
-extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
-cd "$extDir"
-
-usage() {
-	echo "usage: $0 [options] module-name [module-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 --ini-name 0-apc.ini apcu apc"
-	echo
-	echo 'Possible values for module-name:'
-	find -maxdepth 1 \
-			-type f \
-			-name '*.so' \
-			-exec basename '{}' ';' \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-modules=
-for module; do
-	if [ -z "$module" ]; then
-		continue
-	fi
-	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
-		echo >&2 "error: '$module' does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	modules="$modules $module"
-done
-
-if [ -z "$modules" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
-		apkDel='.docker-php-ext-enable-deps'
-	fi
-fi
-
-for module in $modules; do
-	moduleFile="$module"
-	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
-		moduleFile="$module.so"
-	fi
-	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
-		# https://wiki.php.net/internals/extensions#loading_zend_extensions
-		line="zend_extension=$module"
-	else
-		line="extension=$module"
-	fi
-
-	ext="$(basename "$module")"
-	ext="${ext%.*}"
-	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
-		# this isn't perfect, but it's better than nothing
-		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
-		echo >&2
-		echo >&2 "warning: $ext ($module) is already loaded!"
-		echo >&2
-		continue
-	fi
-
-	case "$iniName" in
-		/*)
-			# allow an absolute path
-			ini="$iniName"
-			;;
-		*)
-			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
-			;;
-	esac
-	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
-		echo "$line" >> "$ini"
-	fi
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
diff --git a/8.1-rc/alpine3.16/cli/docker-php-ext-install b/8.1-rc/alpine3.16/cli/docker-php-ext-install
deleted file mode 100755
index aa0b96c5..00000000
--- a/8.1-rc/alpine3.16/cli/docker-php-ext-install
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 [-jN] [--ini-name file.ini] ext-name [ext-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop"
-	echo
-	echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?j:' --long 'help,ini-name:,jobs:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-j=1
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--jobs|-j) j="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-exts=
-for ext; do
-	if [ -z "$ext" ]; then
-		continue
-	fi
-	if [ ! -d "$ext" ]; then
-		echo >&2 "error: $PWD/$ext does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	exts="$exts $ext"
-done
-
-if [ -z "$exts" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if [ -n "$PHPIZE_DEPS" ]; then
-		if apk info --installed .phpize-deps-configure > /dev/null; then
-			apkDel='.phpize-deps-configure'
-		elif ! apk info --installed .phpize-deps > /dev/null; then
-			apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
-			apkDel='.phpize-deps'
-		fi
-	fi
-fi
-
-popDir="$PWD"
-for ext in $exts; do
-	cd "$ext"
-
-	[ -e Makefile ] || docker-php-ext-configure "$ext"
-
-	make -j"$j"
-
-	if ! php -n -d 'display_errors=stderr' -r 'exit(ZEND_DEBUG_BUILD ? 0 : 1);' > /dev/null; then
-		# only "strip" modules if we aren't using a debug build of PHP
-		# (none of our builds are debug builds, but PHP might be recompiled with "--enable-debug" configure option)
-		# https://github.com/docker-library/php/issues/1268
-
-		find modules \
-			-maxdepth 1 \
-			-name '*.so' \
-			-exec sh -euxc ' \
-				strip --strip-all "$@" || :
-			' -- '{}' +
-	fi
-
-	make -j"$j" install
-
-	find modules \
-		-maxdepth 1 \
-		-name '*.so' \
-		-exec basename '{}' ';' \
-			| xargs -r docker-php-ext-enable ${iniName:+--ini-name "$iniName"}
-
-	make -j"$j" clean
-
-	cd "$popDir"
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
-
-if [ -e /usr/src/php/.docker-delete-me ]; then
-	docker-php-source delete
-fi
diff --git a/8.1-rc/alpine3.16/cli/docker-php-source b/8.1-rc/alpine3.16/cli/docker-php-source
deleted file mode 100755
index 9033d243..00000000
--- a/8.1-rc/alpine3.16/cli/docker-php-source
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-dir=/usr/src/php
-
-usage() {
-	echo "usage: $0 COMMAND"
-	echo
-	echo "Manage php source tarball lifecycle."
-	echo
-	echo "Commands:"
-	echo "   extract  extract php source tarball into directory $dir if not already done."
-	echo "   delete   delete extracted php source located into $dir if not already done."
-	echo
-}
-
-case "$1" in
-	extract)
-		mkdir -p "$dir"
-		if [ ! -f "$dir/.docker-extracted" ]; then
-			tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1
-			touch "$dir/.docker-extracted"
-		fi
-		;;
-
-	delete)
-		rm -rf "$dir"
-		;;
-
-	*)
-		usage
-		exit 1
-		;;
-esac
diff --git a/8.1-rc/alpine3.16/fpm/Dockerfile b/8.1-rc/alpine3.16/fpm/Dockerfile
deleted file mode 100644
index 9afff652..00000000
--- a/8.1-rc/alpine3.16/fpm/Dockerfile
+++ /dev/null
@@ -1,256 +0,0 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM alpine:3.16
-
-# dependencies required for running "phpize"
-# these get automatically installed and removed by "docker-php-ext-*" (unless they're already installed)
-ENV PHPIZE_DEPS \
-		autoconf \
-		dpkg-dev dpkg \
-		file \
-		g++ \
-		gcc \
-		libc-dev \
-		make \
-		pkgconf \
-		re2c
-
-# persistent / runtime deps
-RUN apk add --no-cache \
-		ca-certificates \
-		curl \
-		tar \
-		xz \
-# https://github.com/docker-library/php/issues/494
-		openssl
-
-# ensure www-data user exists
-RUN set -eux; \
-	adduser -u 82 -D -S -G www-data www-data
-# 82 is the standard uid/gid for "www-data" in Alpine
-# https://git.alpinelinux.org/aports/tree/main/apache2/apache2.pre-install?h=3.14-stable
-# https://git.alpinelinux.org/aports/tree/main/lighttpd/lighttpd.pre-install?h=3.14-stable
-# https://git.alpinelinux.org/aports/tree/main/nginx/nginx.pre-install?h=3.14-stable
-
-ENV PHP_INI_DIR /usr/local/etc/php
-RUN set -eux; \
-	mkdir -p "$PHP_INI_DIR/conf.d"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-	[ ! -d /var/www/html ]; \
-	mkdir -p /var/www/html; \
-	chown www-data:www-data /var/www/html; \
-	chmod 777 /var/www/html
-
-# Apply stack smash protection to functions using local buffers and alloca()
-# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64)
-# Enable optimization (-O2)
-# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default)
-# https://github.com/docker-library/php/issues/272
-# -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php)
-ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-ENV PHP_CPPFLAGS="$PHP_CFLAGS"
-ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
-
-ENV PHP_VERSION 8.1.12RC1
-ENV PHP_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc"
-ENV PHP_SHA256="7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371"
-
-RUN set -eux; \
-	\
-	apk add --no-cache --virtual .fetch-deps gnupg; \
-	\
-	mkdir -p /usr/src; \
-	cd /usr/src; \
-	\
-	curl -fsSL -o php.tar.xz "$PHP_URL"; \
-	\
-	if [ -n "$PHP_SHA256" ]; then \
-		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \
-	fi; \
-	\
-	if [ -n "$PHP_ASC_URL" ]; then \
-		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; \
-		export GNUPGHOME="$(mktemp -d)"; \
-		for key in $GPG_KEYS; do \
-			gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
-		done; \
-		gpg --batch --verify php.tar.xz.asc php.tar.xz; \
-		gpgconf --kill all; \
-		rm -rf "$GNUPGHOME"; \
-	fi; \
-	\
-	apk del --no-network .fetch-deps
-
-COPY docker-php-source /usr/local/bin/
-
-RUN set -eux; \
-	apk add --no-cache --virtual .build-deps \
-		$PHPIZE_DEPS \
-		argon2-dev \
-		coreutils \
-		curl-dev \
-		gnu-libiconv-dev \
-		libsodium-dev \
-		libxml2-dev \
-		linux-headers \
-		oniguruma-dev \
-		openssl-dev \
-		readline-dev \
-		sqlite-dev \
-	; \
-	\
-# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php)
-	rm -vf /usr/include/iconv.h; \
-	\
-	export \
-		CFLAGS="$PHP_CFLAGS" \
-		CPPFLAGS="$PHP_CPPFLAGS" \
-		LDFLAGS="$PHP_LDFLAGS" \
-	; \
-	docker-php-source extract; \
-	cd /usr/src/php; \
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
-	./configure \
-		--build="$gnuArch" \
-		--with-config-file-path="$PHP_INI_DIR" \
-		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
-		\
-# make sure invalid --configure-flags are fatal errors instead of just warnings
-		--enable-option-checking=fatal \
-		\
-# https://github.com/docker-library/php/issues/439
-		--with-mhash \
-		\
-# https://github.com/docker-library/php/issues/822
-		--with-pic \
-		\
-# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (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)
-		--enable-mysqlnd \
-# https://wiki.php.net/rfc/argon2_password_hash
-		--with-password-argon2 \
-# https://wiki.php.net/rfc/libsodium
-		--with-sodium=shared \
-# always build against system sqlite3 (https://github.com/php/php-src/commit/6083a387a81dbbd66d6316a3a12a63f06d5f7109)
-		--with-pdo-sqlite=/usr \
-		--with-sqlite3=/usr \
-		\
-		--with-curl \
-		--with-iconv=/usr \
-		--with-openssl \
-		--with-readline \
-		--with-zlib \
-		\
-# https://github.com/bwoebi/phpdbg-docs/issues/1#issuecomment-163872806 ("phpdbg is primarily a CLI debugger, and is not suitable for debugging an fpm stack.")
-		--disable-phpdbg \
-		\
-# 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 s390x
-# https://manpages.debian.org/bullseye/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
-		$(test "$gnuArch" = 's390x-linux-musl' && echo '--without-pcre-jit') \
-		\
-		--disable-cgi \
-		\
-		--enable-fpm \
-		--with-fpm-user=www-data \
-		--with-fpm-group=www-data \
-	; \
-	make -j "$(nproc)"; \
-	find -type f -name '*.a' -delete; \
-	make install; \
-	find \
-		/usr/local \
-		-type f \
-		-perm '/0111' \
-		-exec sh -euxc ' \
-			strip --strip-all "$@" || : \
-		' -- '{}' + \
-	; \
-	make clean; \
-	\
-# https://github.com/docker-library/php/issues/692 (copy default example "php.ini" files somewhere easily discoverable)
-	cp -v php.ini-* "$PHP_INI_DIR/"; \
-	\
-	cd /; \
-	docker-php-source delete; \
-	\
-	runDeps="$( \
-		scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \
-			| tr ',' '\n' \
-			| sort -u \
-			| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
-	)"; \
-	apk add --no-cache $runDeps; \
-	\
-	apk del --no-network .build-deps; \
-	\
-# update pecl channel definitions https://github.com/docker-library/php/issues/443
-	pecl update-channels; \
-	rm -rf /tmp/pear ~/.pearrc; \
-	\
-# smoke test
-	php --version
-
-COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
-
-# sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598)
-RUN docker-php-ext-enable sodium
-
-ENTRYPOINT ["docker-php-entrypoint"]
-WORKDIR /var/www/html
-
-RUN set -eux; \
-	cd /usr/local/etc; \
-	if [ -d php-fpm.d ]; then \
-		# for some reason, upstream's php-fpm.conf.default has "include=NONE/etc/php-fpm.d/*.conf"
-		sed 's!=NONE/!=!g' php-fpm.conf.default | tee php-fpm.conf > /dev/null; \
-		cp php-fpm.d/www.conf.default php-fpm.d/www.conf; \
-	else \
-		# PHP 5.x doesn't use "include=" by default, so we'll create our own simple config that mimics PHP 7+ for consistency
-		mkdir php-fpm.d; \
-		cp php-fpm.conf.default php-fpm.d/www.conf; \
-		{ \
-			echo '[global]'; \
-			echo 'include=etc/php-fpm.d/*.conf'; \
-		} | tee php-fpm.conf; \
-	fi; \
-	{ \
-		echo '[global]'; \
-		echo 'error_log = /proc/self/fd/2'; \
-		echo; echo '; https://github.com/docker-library/php/pull/725#issuecomment-443540114'; echo 'log_limit = 8192'; \
-		echo; \
-		echo '[www]'; \
-		echo '; if we send this to /proc/self/fd/1, it never appears'; \
-		echo 'access.log = /proc/self/fd/2'; \
-		echo; \
-		echo 'clear_env = no'; \
-		echo; \
-		echo '; Ensure worker stdout and stderr are sent to the main error log.'; \
-		echo 'catch_workers_output = yes'; \
-		echo 'decorate_workers_output = no'; \
-	} | tee php-fpm.d/docker.conf; \
-	{ \
-		echo '[global]'; \
-		echo 'daemonize = no'; \
-		echo; \
-		echo '[www]'; \
-		echo 'listen = 9000'; \
-	} | tee php-fpm.d/zz-docker.conf
-
-# Override stop signal to stop process gracefully
-# https://github.com/php/php-src/blob/17baa87faddc2550def3ae7314236826bc1b1398/sapi/fpm/php-fpm.8.in#L163
-STOPSIGNAL SIGQUIT
-
-EXPOSE 9000
-CMD ["php-fpm"]
diff --git a/8.1-rc/alpine3.16/fpm/docker-php-entrypoint b/8.1-rc/alpine3.16/fpm/docker-php-entrypoint
deleted file mode 100755
index 86343d80..00000000
--- a/8.1-rc/alpine3.16/fpm/docker-php-entrypoint
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-# first arg is `-f` or `--some-option`
-if [ "${1#-}" != "$1" ]; then
-	set -- php-fpm "$@"
-fi
-
-exec "$@"
diff --git a/8.1-rc/alpine3.16/fpm/docker-php-ext-configure b/8.1-rc/alpine3.16/fpm/docker-php-ext-configure
deleted file mode 100755
index 34fc1337..00000000
--- a/8.1-rc/alpine3.16/fpm/docker-php-ext-configure
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 ext-name [configure flags]"
-	echo "   ie: $0 gd --with-jpeg-dir=/usr/local/something"
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-ext="$1"
-if [ -z "$ext" ] || [ ! -d "$ext" ]; then
-	usage >&2
-	exit 1
-fi
-shift
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS
-	fi
-fi
-
-if command -v dpkg-architecture > /dev/null; then
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"
-	set -- --build="$gnuArch" "$@"
-fi
-
-cd "$ext"
-phpize
-./configure --enable-option-checking=fatal "$@"
diff --git a/8.1-rc/alpine3.16/fpm/docker-php-ext-enable b/8.1-rc/alpine3.16/fpm/docker-php-ext-enable
deleted file mode 100755
index 41d20bbe..00000000
--- a/8.1-rc/alpine3.16/fpm/docker-php-ext-enable
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-set -e
-
-extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
-cd "$extDir"
-
-usage() {
-	echo "usage: $0 [options] module-name [module-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 --ini-name 0-apc.ini apcu apc"
-	echo
-	echo 'Possible values for module-name:'
-	find -maxdepth 1 \
-			-type f \
-			-name '*.so' \
-			-exec basename '{}' ';' \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-modules=
-for module; do
-	if [ -z "$module" ]; then
-		continue
-	fi
-	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
-		echo >&2 "error: '$module' does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	modules="$modules $module"
-done
-
-if [ -z "$modules" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
-		apkDel='.docker-php-ext-enable-deps'
-	fi
-fi
-
-for module in $modules; do
-	moduleFile="$module"
-	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
-		moduleFile="$module.so"
-	fi
-	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
-		# https://wiki.php.net/internals/extensions#loading_zend_extensions
-		line="zend_extension=$module"
-	else
-		line="extension=$module"
-	fi
-
-	ext="$(basename "$module")"
-	ext="${ext%.*}"
-	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
-		# this isn't perfect, but it's better than nothing
-		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
-		echo >&2
-		echo >&2 "warning: $ext ($module) is already loaded!"
-		echo >&2
-		continue
-	fi
-
-	case "$iniName" in
-		/*)
-			# allow an absolute path
-			ini="$iniName"
-			;;
-		*)
-			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
-			;;
-	esac
-	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
-		echo "$line" >> "$ini"
-	fi
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
diff --git a/8.1-rc/alpine3.16/fpm/docker-php-ext-install b/8.1-rc/alpine3.16/fpm/docker-php-ext-install
deleted file mode 100755
index aa0b96c5..00000000
--- a/8.1-rc/alpine3.16/fpm/docker-php-ext-install
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 [-jN] [--ini-name file.ini] ext-name [ext-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop"
-	echo
-	echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?j:' --long 'help,ini-name:,jobs:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-j=1
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--jobs|-j) j="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-exts=
-for ext; do
-	if [ -z "$ext" ]; then
-		continue
-	fi
-	if [ ! -d "$ext" ]; then
-		echo >&2 "error: $PWD/$ext does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	exts="$exts $ext"
-done
-
-if [ -z "$exts" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if [ -n "$PHPIZE_DEPS" ]; then
-		if apk info --installed .phpize-deps-configure > /dev/null; then
-			apkDel='.phpize-deps-configure'
-		elif ! apk info --installed .phpize-deps > /dev/null; then
-			apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
-			apkDel='.phpize-deps'
-		fi
-	fi
-fi
-
-popDir="$PWD"
-for ext in $exts; do
-	cd "$ext"
-
-	[ -e Makefile ] || docker-php-ext-configure "$ext"
-
-	make -j"$j"
-
-	if ! php -n -d 'display_errors=stderr' -r 'exit(ZEND_DEBUG_BUILD ? 0 : 1);' > /dev/null; then
-		# only "strip" modules if we aren't using a debug build of PHP
-		# (none of our builds are debug builds, but PHP might be recompiled with "--enable-debug" configure option)
-		# https://github.com/docker-library/php/issues/1268
-
-		find modules \
-			-maxdepth 1 \
-			-name '*.so' \
-			-exec sh -euxc ' \
-				strip --strip-all "$@" || :
-			' -- '{}' +
-	fi
-
-	make -j"$j" install
-
-	find modules \
-		-maxdepth 1 \
-		-name '*.so' \
-		-exec basename '{}' ';' \
-			| xargs -r docker-php-ext-enable ${iniName:+--ini-name "$iniName"}
-
-	make -j"$j" clean
-
-	cd "$popDir"
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
-
-if [ -e /usr/src/php/.docker-delete-me ]; then
-	docker-php-source delete
-fi
diff --git a/8.1-rc/alpine3.16/fpm/docker-php-source b/8.1-rc/alpine3.16/fpm/docker-php-source
deleted file mode 100755
index 9033d243..00000000
--- a/8.1-rc/alpine3.16/fpm/docker-php-source
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-dir=/usr/src/php
-
-usage() {
-	echo "usage: $0 COMMAND"
-	echo
-	echo "Manage php source tarball lifecycle."
-	echo
-	echo "Commands:"
-	echo "   extract  extract php source tarball into directory $dir if not already done."
-	echo "   delete   delete extracted php source located into $dir if not already done."
-	echo
-}
-
-case "$1" in
-	extract)
-		mkdir -p "$dir"
-		if [ ! -f "$dir/.docker-extracted" ]; then
-			tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1
-			touch "$dir/.docker-extracted"
-		fi
-		;;
-
-	delete)
-		rm -rf "$dir"
-		;;
-
-	*)
-		usage
-		exit 1
-		;;
-esac
diff --git a/8.1-rc/alpine3.16/zts/Dockerfile b/8.1-rc/alpine3.16/zts/Dockerfile
deleted file mode 100644
index 422592ff..00000000
--- a/8.1-rc/alpine3.16/zts/Dockerfile
+++ /dev/null
@@ -1,209 +0,0 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM alpine:3.16
-
-# dependencies required for running "phpize"
-# these get automatically installed and removed by "docker-php-ext-*" (unless they're already installed)
-ENV PHPIZE_DEPS \
-		autoconf \
-		dpkg-dev dpkg \
-		file \
-		g++ \
-		gcc \
-		libc-dev \
-		make \
-		pkgconf \
-		re2c
-
-# persistent / runtime deps
-RUN apk add --no-cache \
-		ca-certificates \
-		curl \
-		tar \
-		xz \
-# https://github.com/docker-library/php/issues/494
-		openssl
-
-# ensure www-data user exists
-RUN set -eux; \
-	adduser -u 82 -D -S -G www-data www-data
-# 82 is the standard uid/gid for "www-data" in Alpine
-# https://git.alpinelinux.org/aports/tree/main/apache2/apache2.pre-install?h=3.14-stable
-# https://git.alpinelinux.org/aports/tree/main/lighttpd/lighttpd.pre-install?h=3.14-stable
-# https://git.alpinelinux.org/aports/tree/main/nginx/nginx.pre-install?h=3.14-stable
-
-ENV PHP_INI_DIR /usr/local/etc/php
-RUN set -eux; \
-	mkdir -p "$PHP_INI_DIR/conf.d"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-	[ ! -d /var/www/html ]; \
-	mkdir -p /var/www/html; \
-	chown www-data:www-data /var/www/html; \
-	chmod 777 /var/www/html
-
-# Apply stack smash protection to functions using local buffers and alloca()
-# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64)
-# Enable optimization (-O2)
-# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default)
-# https://github.com/docker-library/php/issues/272
-# -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php)
-ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-ENV PHP_CPPFLAGS="$PHP_CFLAGS"
-ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
-
-ENV PHP_VERSION 8.1.12RC1
-ENV PHP_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc"
-ENV PHP_SHA256="7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371"
-
-RUN set -eux; \
-	\
-	apk add --no-cache --virtual .fetch-deps gnupg; \
-	\
-	mkdir -p /usr/src; \
-	cd /usr/src; \
-	\
-	curl -fsSL -o php.tar.xz "$PHP_URL"; \
-	\
-	if [ -n "$PHP_SHA256" ]; then \
-		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \
-	fi; \
-	\
-	if [ -n "$PHP_ASC_URL" ]; then \
-		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; \
-		export GNUPGHOME="$(mktemp -d)"; \
-		for key in $GPG_KEYS; do \
-			gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
-		done; \
-		gpg --batch --verify php.tar.xz.asc php.tar.xz; \
-		gpgconf --kill all; \
-		rm -rf "$GNUPGHOME"; \
-	fi; \
-	\
-	apk del --no-network .fetch-deps
-
-COPY docker-php-source /usr/local/bin/
-
-RUN set -eux; \
-	apk add --no-cache --virtual .build-deps \
-		$PHPIZE_DEPS \
-		argon2-dev \
-		coreutils \
-		curl-dev \
-		gnu-libiconv-dev \
-		libsodium-dev \
-		libxml2-dev \
-		linux-headers \
-		oniguruma-dev \
-		openssl-dev \
-		readline-dev \
-		sqlite-dev \
-	; \
-	\
-# make sure musl's iconv doesn't get used (https://www.php.net/manual/en/intro.iconv.php)
-	rm -vf /usr/include/iconv.h; \
-	\
-	export \
-		CFLAGS="$PHP_CFLAGS" \
-		CPPFLAGS="$PHP_CPPFLAGS" \
-		LDFLAGS="$PHP_LDFLAGS" \
-	; \
-	docker-php-source extract; \
-	cd /usr/src/php; \
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
-	./configure \
-		--build="$gnuArch" \
-		--with-config-file-path="$PHP_INI_DIR" \
-		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
-		\
-# make sure invalid --configure-flags are fatal errors instead of just warnings
-		--enable-option-checking=fatal \
-		\
-# https://github.com/docker-library/php/issues/439
-		--with-mhash \
-		\
-# https://github.com/docker-library/php/issues/822
-		--with-pic \
-		\
-# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (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)
-		--enable-mysqlnd \
-# https://wiki.php.net/rfc/argon2_password_hash
-		--with-password-argon2 \
-# https://wiki.php.net/rfc/libsodium
-		--with-sodium=shared \
-# always build against system sqlite3 (https://github.com/php/php-src/commit/6083a387a81dbbd66d6316a3a12a63f06d5f7109)
-		--with-pdo-sqlite=/usr \
-		--with-sqlite3=/usr \
-		\
-		--with-curl \
-		--with-iconv=/usr \
-		--with-openssl \
-		--with-readline \
-		--with-zlib \
-		\
-# https://github.com/bwoebi/phpdbg-docs/issues/1#issuecomment-163872806 ("phpdbg is primarily a CLI debugger, and is not suitable for debugging an fpm stack.")
-		--disable-phpdbg \
-		\
-# 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 s390x
-# https://manpages.debian.org/bullseye/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
-		$(test "$gnuArch" = 's390x-linux-musl' && echo '--without-pcre-jit') \
-		\
-		--disable-cgi \
-		\
-		--enable-zts \
-	; \
-	make -j "$(nproc)"; \
-	find -type f -name '*.a' -delete; \
-	make install; \
-	find \
-		/usr/local \
-		-type f \
-		-perm '/0111' \
-		-exec sh -euxc ' \
-			strip --strip-all "$@" || : \
-		' -- '{}' + \
-	; \
-	make clean; \
-	\
-# https://github.com/docker-library/php/issues/692 (copy default example "php.ini" files somewhere easily discoverable)
-	cp -v php.ini-* "$PHP_INI_DIR/"; \
-	\
-	cd /; \
-	docker-php-source delete; \
-	\
-	runDeps="$( \
-		scanelf --needed --nobanner --format '%n#p' --recursive /usr/local \
-			| tr ',' '\n' \
-			| sort -u \
-			| awk 'system("[ -e /usr/local/lib/" $1 " ]") == 0 { next } { print "so:" $1 }' \
-	)"; \
-	apk add --no-cache $runDeps; \
-	\
-	apk del --no-network .build-deps; \
-	\
-# update pecl channel definitions https://github.com/docker-library/php/issues/443
-	pecl update-channels; \
-	rm -rf /tmp/pear ~/.pearrc; \
-	\
-# smoke test
-	php --version
-
-COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
-
-# sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598)
-RUN docker-php-ext-enable sodium
-
-ENTRYPOINT ["docker-php-entrypoint"]
-CMD ["php", "-a"]
diff --git a/8.1-rc/alpine3.16/zts/docker-php-entrypoint b/8.1-rc/alpine3.16/zts/docker-php-entrypoint
deleted file mode 100755
index 88a016c1..00000000
--- a/8.1-rc/alpine3.16/zts/docker-php-entrypoint
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-# first arg is `-f` or `--some-option`
-if [ "${1#-}" != "$1" ]; then
-	set -- php "$@"
-fi
-
-exec "$@"
diff --git a/8.1-rc/alpine3.16/zts/docker-php-ext-configure b/8.1-rc/alpine3.16/zts/docker-php-ext-configure
deleted file mode 100755
index 34fc1337..00000000
--- a/8.1-rc/alpine3.16/zts/docker-php-ext-configure
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 ext-name [configure flags]"
-	echo "   ie: $0 gd --with-jpeg-dir=/usr/local/something"
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-ext="$1"
-if [ -z "$ext" ] || [ ! -d "$ext" ]; then
-	usage >&2
-	exit 1
-fi
-shift
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS
-	fi
-fi
-
-if command -v dpkg-architecture > /dev/null; then
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"
-	set -- --build="$gnuArch" "$@"
-fi
-
-cd "$ext"
-phpize
-./configure --enable-option-checking=fatal "$@"
diff --git a/8.1-rc/alpine3.16/zts/docker-php-ext-enable b/8.1-rc/alpine3.16/zts/docker-php-ext-enable
deleted file mode 100755
index 41d20bbe..00000000
--- a/8.1-rc/alpine3.16/zts/docker-php-ext-enable
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-set -e
-
-extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
-cd "$extDir"
-
-usage() {
-	echo "usage: $0 [options] module-name [module-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 --ini-name 0-apc.ini apcu apc"
-	echo
-	echo 'Possible values for module-name:'
-	find -maxdepth 1 \
-			-type f \
-			-name '*.so' \
-			-exec basename '{}' ';' \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-modules=
-for module; do
-	if [ -z "$module" ]; then
-		continue
-	fi
-	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
-		echo >&2 "error: '$module' does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	modules="$modules $module"
-done
-
-if [ -z "$modules" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
-		apkDel='.docker-php-ext-enable-deps'
-	fi
-fi
-
-for module in $modules; do
-	moduleFile="$module"
-	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
-		moduleFile="$module.so"
-	fi
-	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
-		# https://wiki.php.net/internals/extensions#loading_zend_extensions
-		line="zend_extension=$module"
-	else
-		line="extension=$module"
-	fi
-
-	ext="$(basename "$module")"
-	ext="${ext%.*}"
-	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
-		# this isn't perfect, but it's better than nothing
-		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
-		echo >&2
-		echo >&2 "warning: $ext ($module) is already loaded!"
-		echo >&2
-		continue
-	fi
-
-	case "$iniName" in
-		/*)
-			# allow an absolute path
-			ini="$iniName"
-			;;
-		*)
-			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
-			;;
-	esac
-	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
-		echo "$line" >> "$ini"
-	fi
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
diff --git a/8.1-rc/alpine3.16/zts/docker-php-ext-install b/8.1-rc/alpine3.16/zts/docker-php-ext-install
deleted file mode 100755
index aa0b96c5..00000000
--- a/8.1-rc/alpine3.16/zts/docker-php-ext-install
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 [-jN] [--ini-name file.ini] ext-name [ext-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop"
-	echo
-	echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?j:' --long 'help,ini-name:,jobs:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-j=1
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--jobs|-j) j="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-exts=
-for ext; do
-	if [ -z "$ext" ]; then
-		continue
-	fi
-	if [ ! -d "$ext" ]; then
-		echo >&2 "error: $PWD/$ext does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	exts="$exts $ext"
-done
-
-if [ -z "$exts" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if [ -n "$PHPIZE_DEPS" ]; then
-		if apk info --installed .phpize-deps-configure > /dev/null; then
-			apkDel='.phpize-deps-configure'
-		elif ! apk info --installed .phpize-deps > /dev/null; then
-			apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
-			apkDel='.phpize-deps'
-		fi
-	fi
-fi
-
-popDir="$PWD"
-for ext in $exts; do
-	cd "$ext"
-
-	[ -e Makefile ] || docker-php-ext-configure "$ext"
-
-	make -j"$j"
-
-	if ! php -n -d 'display_errors=stderr' -r 'exit(ZEND_DEBUG_BUILD ? 0 : 1);' > /dev/null; then
-		# only "strip" modules if we aren't using a debug build of PHP
-		# (none of our builds are debug builds, but PHP might be recompiled with "--enable-debug" configure option)
-		# https://github.com/docker-library/php/issues/1268
-
-		find modules \
-			-maxdepth 1 \
-			-name '*.so' \
-			-exec sh -euxc ' \
-				strip --strip-all "$@" || :
-			' -- '{}' +
-	fi
-
-	make -j"$j" install
-
-	find modules \
-		-maxdepth 1 \
-		-name '*.so' \
-		-exec basename '{}' ';' \
-			| xargs -r docker-php-ext-enable ${iniName:+--ini-name "$iniName"}
-
-	make -j"$j" clean
-
-	cd "$popDir"
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
-
-if [ -e /usr/src/php/.docker-delete-me ]; then
-	docker-php-source delete
-fi
diff --git a/8.1-rc/alpine3.16/zts/docker-php-source b/8.1-rc/alpine3.16/zts/docker-php-source
deleted file mode 100755
index 9033d243..00000000
--- a/8.1-rc/alpine3.16/zts/docker-php-source
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-dir=/usr/src/php
-
-usage() {
-	echo "usage: $0 COMMAND"
-	echo
-	echo "Manage php source tarball lifecycle."
-	echo
-	echo "Commands:"
-	echo "   extract  extract php source tarball into directory $dir if not already done."
-	echo "   delete   delete extracted php source located into $dir if not already done."
-	echo
-}
-
-case "$1" in
-	extract)
-		mkdir -p "$dir"
-		if [ ! -f "$dir/.docker-extracted" ]; then
-			tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1
-			touch "$dir/.docker-extracted"
-		fi
-		;;
-
-	delete)
-		rm -rf "$dir"
-		;;
-
-	*)
-		usage
-		exit 1
-		;;
-esac
diff --git a/8.1-rc/bullseye/apache/Dockerfile b/8.1-rc/bullseye/apache/Dockerfile
deleted file mode 100644
index 8721c3d9..00000000
--- a/8.1-rc/bullseye/apache/Dockerfile
+++ /dev/null
@@ -1,290 +0,0 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM debian:bullseye-slim
-
-# prevent Debian's PHP packages from being installed
-# https://github.com/docker-library/php/pull/542
-RUN set -eux; \
-	{ \
-		echo 'Package: php*'; \
-		echo 'Pin: release *'; \
-		echo 'Pin-Priority: -1'; \
-	} > /etc/apt/preferences.d/no-debian-php
-
-# dependencies required for running "phpize"
-# (see persistent deps below)
-ENV PHPIZE_DEPS \
-		autoconf \
-		dpkg-dev \
-		file \
-		g++ \
-		gcc \
-		libc-dev \
-		make \
-		pkg-config \
-		re2c
-
-# persistent / runtime deps
-RUN set -eux; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		$PHPIZE_DEPS \
-		ca-certificates \
-		curl \
-		xz-utils \
-	; \
-	rm -rf /var/lib/apt/lists/*
-
-ENV PHP_INI_DIR /usr/local/etc/php
-RUN set -eux; \
-	mkdir -p "$PHP_INI_DIR/conf.d"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-	[ ! -d /var/www/html ]; \
-	mkdir -p /var/www/html; \
-	chown www-data:www-data /var/www/html; \
-	chmod 777 /var/www/html
-
-ENV APACHE_CONFDIR /etc/apache2
-ENV APACHE_ENVVARS $APACHE_CONFDIR/envvars
-
-RUN set -eux; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends apache2; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-# generically convert lines like
-#   export APACHE_RUN_USER=www-data
-# into
-#   : ${APACHE_RUN_USER:=www-data}
-#   export APACHE_RUN_USER
-# so that they can be overridden at runtime ("-e APACHE_RUN_USER=...")
-	sed -ri 's/^export ([^=]+)=(.*)$/: ${\1:=\2}\nexport \1/' "$APACHE_ENVVARS"; \
-	\
-# setup directories and permissions
-	. "$APACHE_ENVVARS"; \
-	for dir in \
-		"$APACHE_LOCK_DIR" \
-		"$APACHE_RUN_DIR" \
-		"$APACHE_LOG_DIR" \
-	; do \
-		rm -rvf "$dir"; \
-		mkdir -p "$dir"; \
-		chown "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$dir"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-		chmod 777 "$dir"; \
-	done; \
-	\
-# delete the "index.html" that installing Apache drops in here
-	rm -rvf /var/www/html/*; \
-	\
-# logs should go to stdout / stderr
-	ln -sfT /dev/stderr "$APACHE_LOG_DIR/error.log"; \
-	ln -sfT /dev/stdout "$APACHE_LOG_DIR/access.log"; \
-	ln -sfT /dev/stdout "$APACHE_LOG_DIR/other_vhosts_access.log"; \
-	chown -R --no-dereference "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$APACHE_LOG_DIR"
-
-# Apache + PHP requires preforking Apache for best results
-RUN a2dismod mpm_event && a2enmod mpm_prefork
-
-# PHP files should be handled by PHP, and should be preferred over any other file type
-RUN { \
-		echo '<FilesMatch \.php$>'; \
-		echo '\tSetHandler application/x-httpd-php'; \
-		echo '</FilesMatch>'; \
-		echo; \
-		echo 'DirectoryIndex disabled'; \
-		echo 'DirectoryIndex index.php index.html'; \
-		echo; \
-		echo '<Directory /var/www/>'; \
-		echo '\tOptions -Indexes'; \
-		echo '\tAllowOverride All'; \
-		echo '</Directory>'; \
-	} | tee "$APACHE_CONFDIR/conf-available/docker-php.conf" \
-	&& a2enconf docker-php
-
-# Apply stack smash protection to functions using local buffers and alloca()
-# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64)
-# Enable optimization (-O2)
-# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default)
-# https://github.com/docker-library/php/issues/272
-# -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php)
-ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-ENV PHP_CPPFLAGS="$PHP_CFLAGS"
-ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
-
-ENV PHP_VERSION 8.1.12RC1
-ENV PHP_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc"
-ENV PHP_SHA256="7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371"
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends gnupg dirmngr; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-	mkdir -p /usr/src; \
-	cd /usr/src; \
-	\
-	curl -fsSL -o php.tar.xz "$PHP_URL"; \
-	\
-	if [ -n "$PHP_SHA256" ]; then \
-		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \
-	fi; \
-	\
-	if [ -n "$PHP_ASC_URL" ]; then \
-		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; \
-		export GNUPGHOME="$(mktemp -d)"; \
-		for key in $GPG_KEYS; do \
-			gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
-		done; \
-		gpg --batch --verify php.tar.xz.asc php.tar.xz; \
-		gpgconf --kill all; \
-		rm -rf "$GNUPGHOME"; \
-	fi; \
-	\
-	apt-mark auto '.*' > /dev/null; \
-	apt-mark manual $savedAptMark > /dev/null; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
-
-COPY docker-php-source /usr/local/bin/
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		apache2-dev \
-		libargon2-dev \
-		libcurl4-openssl-dev \
-		libonig-dev \
-		libreadline-dev \
-		libsodium-dev \
-		libsqlite3-dev \
-		libssl-dev \
-		libxml2-dev \
-		zlib1g-dev \
-	; \
-	\
-	export \
-		CFLAGS="$PHP_CFLAGS" \
-		CPPFLAGS="$PHP_CPPFLAGS" \
-		LDFLAGS="$PHP_LDFLAGS" \
-	; \
-	docker-php-source extract; \
-	cd /usr/src/php; \
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
-	debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
-# https://bugs.php.net/bug.php?id=74125
-	if [ ! -d /usr/include/curl ]; then \
-		ln -sT "/usr/include/$debMultiarch/curl" /usr/local/include/curl; \
-	fi; \
-	./configure \
-		--build="$gnuArch" \
-		--with-config-file-path="$PHP_INI_DIR" \
-		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
-		\
-# make sure invalid --configure-flags are fatal errors instead of just warnings
-		--enable-option-checking=fatal \
-		\
-# https://github.com/docker-library/php/issues/439
-		--with-mhash \
-		\
-# https://github.com/docker-library/php/issues/822
-		--with-pic \
-		\
-# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (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)
-		--enable-mysqlnd \
-# https://wiki.php.net/rfc/argon2_password_hash
-		--with-password-argon2 \
-# https://wiki.php.net/rfc/libsodium
-		--with-sodium=shared \
-# always build against system sqlite3 (https://github.com/php/php-src/commit/6083a387a81dbbd66d6316a3a12a63f06d5f7109)
-		--with-pdo-sqlite=/usr \
-		--with-sqlite3=/usr \
-		\
-		--with-curl \
-		--with-iconv \
-		--with-openssl \
-		--with-readline \
-		--with-zlib \
-		\
-# https://github.com/bwoebi/phpdbg-docs/issues/1#issuecomment-163872806 ("phpdbg is primarily a CLI debugger, and is not suitable for debugging an fpm stack.")
-		--disable-phpdbg \
-		\
-# 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 s390x
-# https://manpages.debian.org/bullseye/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
-		$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
-		--with-libdir="lib/$debMultiarch" \
-		\
-		--disable-cgi \
-		\
-		--with-apxs2 \
-	; \
-	make -j "$(nproc)"; \
-	find -type f -name '*.a' -delete; \
-	make install; \
-	find \
-		/usr/local \
-		-type f \
-		-perm '/0111' \
-		-exec sh -euxc ' \
-			strip --strip-all "$@" || : \
-		' -- '{}' + \
-	; \
-	make clean; \
-	\
-# https://github.com/docker-library/php/issues/692 (copy default example "php.ini" files somewhere easily discoverable)
-	cp -v php.ini-* "$PHP_INI_DIR/"; \
-	\
-	cd /; \
-	docker-php-source delete; \
-	\
-# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
-	apt-mark auto '.*' > /dev/null; \
-	[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
-	find /usr/local -type f -executable -exec ldd '{}' ';' \
-		| awk '/=>/ { print $(NF-1) }' \
-		| sort -u \
-		| xargs -r dpkg-query --search \
-		| cut -d: -f1 \
-		| sort -u \
-		| xargs -r apt-mark manual \
-	; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-# update pecl channel definitions https://github.com/docker-library/php/issues/443
-	pecl update-channels; \
-	rm -rf /tmp/pear ~/.pearrc; \
-	\
-# smoke test
-	php --version
-
-COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
-
-# sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598)
-RUN docker-php-ext-enable sodium
-
-ENTRYPOINT ["docker-php-entrypoint"]
-# https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop
-STOPSIGNAL SIGWINCH
-
-COPY apache2-foreground /usr/local/bin/
-WORKDIR /var/www/html
-
-EXPOSE 80
-CMD ["apache2-foreground"]
diff --git a/8.1-rc/bullseye/apache/apache2-foreground b/8.1-rc/bullseye/apache/apache2-foreground
deleted file mode 100755
index 5fe22e26..00000000
--- a/8.1-rc/bullseye/apache/apache2-foreground
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-set -e
-
-# Note: we don't just use "apache2ctl" here because it itself is just a shell-script wrapper around apache2 which provides extra functionality like "apache2ctl start" for launching apache2 in the background.
-# (also, when run as "apache2ctl <apache args>", it does not use "exec", which leaves an undesirable resident shell process)
-
-: "${APACHE_CONFDIR:=/etc/apache2}"
-: "${APACHE_ENVVARS:=$APACHE_CONFDIR/envvars}"
-if test -f "$APACHE_ENVVARS"; then
-	. "$APACHE_ENVVARS"
-fi
-
-# Apache gets grumpy about PID files pre-existing
-: "${APACHE_RUN_DIR:=/var/run/apache2}"
-: "${APACHE_PID_FILE:=$APACHE_RUN_DIR/apache2.pid}"
-rm -f "$APACHE_PID_FILE"
-
-# create missing directories
-# (especially APACHE_RUN_DIR, APACHE_LOCK_DIR, and APACHE_LOG_DIR)
-for e in "${!APACHE_@}"; do
-	if [[ "$e" == *_DIR ]] && [[ "${!e}" == /* ]]; then
-		# handle "/var/lock" being a symlink to "/run/lock", but "/run/lock" not existing beforehand, so "/var/lock/something" fails to mkdir
-		#   mkdir: cannot create directory '/var/lock': File exists
-		dir="${!e}"
-		while [ "$dir" != "$(dirname "$dir")" ]; do
-			dir="$(dirname "$dir")"
-			if [ -d "$dir" ]; then
-				break
-			fi
-			absDir="$(readlink -f "$dir" 2>/dev/null || :)"
-			if [ -n "$absDir" ]; then
-				mkdir -p "$absDir"
-			fi
-		done
-
-		mkdir -p "${!e}"
-	fi
-done
-
-exec apache2 -DFOREGROUND "$@"
diff --git a/8.1-rc/bullseye/apache/docker-php-entrypoint b/8.1-rc/bullseye/apache/docker-php-entrypoint
deleted file mode 100755
index 3d36d5e8..00000000
--- a/8.1-rc/bullseye/apache/docker-php-entrypoint
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-# first arg is `-f` or `--some-option`
-if [ "${1#-}" != "$1" ]; then
-	set -- apache2-foreground "$@"
-fi
-
-exec "$@"
diff --git a/8.1-rc/bullseye/apache/docker-php-ext-configure b/8.1-rc/bullseye/apache/docker-php-ext-configure
deleted file mode 100755
index 34fc1337..00000000
--- a/8.1-rc/bullseye/apache/docker-php-ext-configure
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 ext-name [configure flags]"
-	echo "   ie: $0 gd --with-jpeg-dir=/usr/local/something"
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-ext="$1"
-if [ -z "$ext" ] || [ ! -d "$ext" ]; then
-	usage >&2
-	exit 1
-fi
-shift
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS
-	fi
-fi
-
-if command -v dpkg-architecture > /dev/null; then
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"
-	set -- --build="$gnuArch" "$@"
-fi
-
-cd "$ext"
-phpize
-./configure --enable-option-checking=fatal "$@"
diff --git a/8.1-rc/bullseye/apache/docker-php-ext-enable b/8.1-rc/bullseye/apache/docker-php-ext-enable
deleted file mode 100755
index 41d20bbe..00000000
--- a/8.1-rc/bullseye/apache/docker-php-ext-enable
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-set -e
-
-extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
-cd "$extDir"
-
-usage() {
-	echo "usage: $0 [options] module-name [module-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 --ini-name 0-apc.ini apcu apc"
-	echo
-	echo 'Possible values for module-name:'
-	find -maxdepth 1 \
-			-type f \
-			-name '*.so' \
-			-exec basename '{}' ';' \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-modules=
-for module; do
-	if [ -z "$module" ]; then
-		continue
-	fi
-	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
-		echo >&2 "error: '$module' does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	modules="$modules $module"
-done
-
-if [ -z "$modules" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
-		apkDel='.docker-php-ext-enable-deps'
-	fi
-fi
-
-for module in $modules; do
-	moduleFile="$module"
-	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
-		moduleFile="$module.so"
-	fi
-	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
-		# https://wiki.php.net/internals/extensions#loading_zend_extensions
-		line="zend_extension=$module"
-	else
-		line="extension=$module"
-	fi
-
-	ext="$(basename "$module")"
-	ext="${ext%.*}"
-	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
-		# this isn't perfect, but it's better than nothing
-		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
-		echo >&2
-		echo >&2 "warning: $ext ($module) is already loaded!"
-		echo >&2
-		continue
-	fi
-
-	case "$iniName" in
-		/*)
-			# allow an absolute path
-			ini="$iniName"
-			;;
-		*)
-			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
-			;;
-	esac
-	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
-		echo "$line" >> "$ini"
-	fi
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
diff --git a/8.1-rc/bullseye/apache/docker-php-ext-install b/8.1-rc/bullseye/apache/docker-php-ext-install
deleted file mode 100755
index aa0b96c5..00000000
--- a/8.1-rc/bullseye/apache/docker-php-ext-install
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 [-jN] [--ini-name file.ini] ext-name [ext-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop"
-	echo
-	echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?j:' --long 'help,ini-name:,jobs:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-j=1
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--jobs|-j) j="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-exts=
-for ext; do
-	if [ -z "$ext" ]; then
-		continue
-	fi
-	if [ ! -d "$ext" ]; then
-		echo >&2 "error: $PWD/$ext does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	exts="$exts $ext"
-done
-
-if [ -z "$exts" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if [ -n "$PHPIZE_DEPS" ]; then
-		if apk info --installed .phpize-deps-configure > /dev/null; then
-			apkDel='.phpize-deps-configure'
-		elif ! apk info --installed .phpize-deps > /dev/null; then
-			apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
-			apkDel='.phpize-deps'
-		fi
-	fi
-fi
-
-popDir="$PWD"
-for ext in $exts; do
-	cd "$ext"
-
-	[ -e Makefile ] || docker-php-ext-configure "$ext"
-
-	make -j"$j"
-
-	if ! php -n -d 'display_errors=stderr' -r 'exit(ZEND_DEBUG_BUILD ? 0 : 1);' > /dev/null; then
-		# only "strip" modules if we aren't using a debug build of PHP
-		# (none of our builds are debug builds, but PHP might be recompiled with "--enable-debug" configure option)
-		# https://github.com/docker-library/php/issues/1268
-
-		find modules \
-			-maxdepth 1 \
-			-name '*.so' \
-			-exec sh -euxc ' \
-				strip --strip-all "$@" || :
-			' -- '{}' +
-	fi
-
-	make -j"$j" install
-
-	find modules \
-		-maxdepth 1 \
-		-name '*.so' \
-		-exec basename '{}' ';' \
-			| xargs -r docker-php-ext-enable ${iniName:+--ini-name "$iniName"}
-
-	make -j"$j" clean
-
-	cd "$popDir"
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
-
-if [ -e /usr/src/php/.docker-delete-me ]; then
-	docker-php-source delete
-fi
diff --git a/8.1-rc/bullseye/apache/docker-php-source b/8.1-rc/bullseye/apache/docker-php-source
deleted file mode 100755
index 9033d243..00000000
--- a/8.1-rc/bullseye/apache/docker-php-source
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-dir=/usr/src/php
-
-usage() {
-	echo "usage: $0 COMMAND"
-	echo
-	echo "Manage php source tarball lifecycle."
-	echo
-	echo "Commands:"
-	echo "   extract  extract php source tarball into directory $dir if not already done."
-	echo "   delete   delete extracted php source located into $dir if not already done."
-	echo
-}
-
-case "$1" in
-	extract)
-		mkdir -p "$dir"
-		if [ ! -f "$dir/.docker-extracted" ]; then
-			tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1
-			touch "$dir/.docker-extracted"
-		fi
-		;;
-
-	delete)
-		rm -rf "$dir"
-		;;
-
-	*)
-		usage
-		exit 1
-		;;
-esac
diff --git a/8.1-rc/bullseye/cli/Dockerfile b/8.1-rc/bullseye/cli/Dockerfile
deleted file mode 100644
index 9c36eb5a..00000000
--- a/8.1-rc/bullseye/cli/Dockerfile
+++ /dev/null
@@ -1,224 +0,0 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM debian:bullseye-slim
-
-# prevent Debian's PHP packages from being installed
-# https://github.com/docker-library/php/pull/542
-RUN set -eux; \
-	{ \
-		echo 'Package: php*'; \
-		echo 'Pin: release *'; \
-		echo 'Pin-Priority: -1'; \
-	} > /etc/apt/preferences.d/no-debian-php
-
-# dependencies required for running "phpize"
-# (see persistent deps below)
-ENV PHPIZE_DEPS \
-		autoconf \
-		dpkg-dev \
-		file \
-		g++ \
-		gcc \
-		libc-dev \
-		make \
-		pkg-config \
-		re2c
-
-# persistent / runtime deps
-RUN set -eux; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		$PHPIZE_DEPS \
-		ca-certificates \
-		curl \
-		xz-utils \
-	; \
-	rm -rf /var/lib/apt/lists/*
-
-ENV PHP_INI_DIR /usr/local/etc/php
-RUN set -eux; \
-	mkdir -p "$PHP_INI_DIR/conf.d"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-	[ ! -d /var/www/html ]; \
-	mkdir -p /var/www/html; \
-	chown www-data:www-data /var/www/html; \
-	chmod 777 /var/www/html
-
-# Apply stack smash protection to functions using local buffers and alloca()
-# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64)
-# Enable optimization (-O2)
-# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default)
-# https://github.com/docker-library/php/issues/272
-# -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php)
-ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-ENV PHP_CPPFLAGS="$PHP_CFLAGS"
-ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
-
-ENV PHP_VERSION 8.1.12RC1
-ENV PHP_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc"
-ENV PHP_SHA256="7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371"
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends gnupg dirmngr; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-	mkdir -p /usr/src; \
-	cd /usr/src; \
-	\
-	curl -fsSL -o php.tar.xz "$PHP_URL"; \
-	\
-	if [ -n "$PHP_SHA256" ]; then \
-		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \
-	fi; \
-	\
-	if [ -n "$PHP_ASC_URL" ]; then \
-		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; \
-		export GNUPGHOME="$(mktemp -d)"; \
-		for key in $GPG_KEYS; do \
-			gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
-		done; \
-		gpg --batch --verify php.tar.xz.asc php.tar.xz; \
-		gpgconf --kill all; \
-		rm -rf "$GNUPGHOME"; \
-	fi; \
-	\
-	apt-mark auto '.*' > /dev/null; \
-	apt-mark manual $savedAptMark > /dev/null; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
-
-COPY docker-php-source /usr/local/bin/
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		libargon2-dev \
-		libcurl4-openssl-dev \
-		libonig-dev \
-		libreadline-dev \
-		libsodium-dev \
-		libsqlite3-dev \
-		libssl-dev \
-		libxml2-dev \
-		zlib1g-dev \
-	; \
-	\
-	export \
-		CFLAGS="$PHP_CFLAGS" \
-		CPPFLAGS="$PHP_CPPFLAGS" \
-		LDFLAGS="$PHP_LDFLAGS" \
-	; \
-	docker-php-source extract; \
-	cd /usr/src/php; \
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
-	debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
-# https://bugs.php.net/bug.php?id=74125
-	if [ ! -d /usr/include/curl ]; then \
-		ln -sT "/usr/include/$debMultiarch/curl" /usr/local/include/curl; \
-	fi; \
-	./configure \
-		--build="$gnuArch" \
-		--with-config-file-path="$PHP_INI_DIR" \
-		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
-		\
-# make sure invalid --configure-flags are fatal errors instead of just warnings
-		--enable-option-checking=fatal \
-		\
-# https://github.com/docker-library/php/issues/439
-		--with-mhash \
-		\
-# https://github.com/docker-library/php/issues/822
-		--with-pic \
-		\
-# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (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)
-		--enable-mysqlnd \
-# https://wiki.php.net/rfc/argon2_password_hash
-		--with-password-argon2 \
-# https://wiki.php.net/rfc/libsodium
-		--with-sodium=shared \
-# always build against system sqlite3 (https://github.com/php/php-src/commit/6083a387a81dbbd66d6316a3a12a63f06d5f7109)
-		--with-pdo-sqlite=/usr \
-		--with-sqlite3=/usr \
-		\
-		--with-curl \
-		--with-iconv \
-		--with-openssl \
-		--with-readline \
-		--with-zlib \
-		\
-# https://github.com/docker-library/php/pull/1259
-		--enable-phpdbg \
-		--enable-phpdbg-readline \
-		\
-# 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 s390x
-# https://manpages.debian.org/bullseye/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
-		$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
-		--with-libdir="lib/$debMultiarch" \
-		\
-# https://github.com/docker-library/php/pull/939#issuecomment-730501748
-		--enable-embed \
-	; \
-	make -j "$(nproc)"; \
-	find -type f -name '*.a' -delete; \
-	make install; \
-	find \
-		/usr/local \
-		-type f \
-		-perm '/0111' \
-		-exec sh -euxc ' \
-			strip --strip-all "$@" || : \
-		' -- '{}' + \
-	; \
-	make clean; \
-	\
-# https://github.com/docker-library/php/issues/692 (copy default example "php.ini" files somewhere easily discoverable)
-	cp -v php.ini-* "$PHP_INI_DIR/"; \
-	\
-	cd /; \
-	docker-php-source delete; \
-	\
-# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
-	apt-mark auto '.*' > /dev/null; \
-	[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
-	find /usr/local -type f -executable -exec ldd '{}' ';' \
-		| awk '/=>/ { print $(NF-1) }' \
-		| sort -u \
-		| xargs -r dpkg-query --search \
-		| cut -d: -f1 \
-		| sort -u \
-		| xargs -r apt-mark manual \
-	; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-# update pecl channel definitions https://github.com/docker-library/php/issues/443
-	pecl update-channels; \
-	rm -rf /tmp/pear ~/.pearrc; \
-	\
-# smoke test
-	php --version
-
-COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
-
-# sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598)
-RUN docker-php-ext-enable sodium
-
-ENTRYPOINT ["docker-php-entrypoint"]
-CMD ["php", "-a"]
diff --git a/8.1-rc/bullseye/cli/docker-php-entrypoint b/8.1-rc/bullseye/cli/docker-php-entrypoint
deleted file mode 100755
index 88a016c1..00000000
--- a/8.1-rc/bullseye/cli/docker-php-entrypoint
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-# first arg is `-f` or `--some-option`
-if [ "${1#-}" != "$1" ]; then
-	set -- php "$@"
-fi
-
-exec "$@"
diff --git a/8.1-rc/bullseye/cli/docker-php-ext-configure b/8.1-rc/bullseye/cli/docker-php-ext-configure
deleted file mode 100755
index 34fc1337..00000000
--- a/8.1-rc/bullseye/cli/docker-php-ext-configure
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 ext-name [configure flags]"
-	echo "   ie: $0 gd --with-jpeg-dir=/usr/local/something"
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-ext="$1"
-if [ -z "$ext" ] || [ ! -d "$ext" ]; then
-	usage >&2
-	exit 1
-fi
-shift
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS
-	fi
-fi
-
-if command -v dpkg-architecture > /dev/null; then
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"
-	set -- --build="$gnuArch" "$@"
-fi
-
-cd "$ext"
-phpize
-./configure --enable-option-checking=fatal "$@"
diff --git a/8.1-rc/bullseye/cli/docker-php-ext-enable b/8.1-rc/bullseye/cli/docker-php-ext-enable
deleted file mode 100755
index 41d20bbe..00000000
--- a/8.1-rc/bullseye/cli/docker-php-ext-enable
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-set -e
-
-extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
-cd "$extDir"
-
-usage() {
-	echo "usage: $0 [options] module-name [module-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 --ini-name 0-apc.ini apcu apc"
-	echo
-	echo 'Possible values for module-name:'
-	find -maxdepth 1 \
-			-type f \
-			-name '*.so' \
-			-exec basename '{}' ';' \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-modules=
-for module; do
-	if [ -z "$module" ]; then
-		continue
-	fi
-	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
-		echo >&2 "error: '$module' does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	modules="$modules $module"
-done
-
-if [ -z "$modules" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
-		apkDel='.docker-php-ext-enable-deps'
-	fi
-fi
-
-for module in $modules; do
-	moduleFile="$module"
-	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
-		moduleFile="$module.so"
-	fi
-	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
-		# https://wiki.php.net/internals/extensions#loading_zend_extensions
-		line="zend_extension=$module"
-	else
-		line="extension=$module"
-	fi
-
-	ext="$(basename "$module")"
-	ext="${ext%.*}"
-	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
-		# this isn't perfect, but it's better than nothing
-		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
-		echo >&2
-		echo >&2 "warning: $ext ($module) is already loaded!"
-		echo >&2
-		continue
-	fi
-
-	case "$iniName" in
-		/*)
-			# allow an absolute path
-			ini="$iniName"
-			;;
-		*)
-			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
-			;;
-	esac
-	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
-		echo "$line" >> "$ini"
-	fi
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
diff --git a/8.1-rc/bullseye/cli/docker-php-ext-install b/8.1-rc/bullseye/cli/docker-php-ext-install
deleted file mode 100755
index aa0b96c5..00000000
--- a/8.1-rc/bullseye/cli/docker-php-ext-install
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 [-jN] [--ini-name file.ini] ext-name [ext-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop"
-	echo
-	echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?j:' --long 'help,ini-name:,jobs:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-j=1
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--jobs|-j) j="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-exts=
-for ext; do
-	if [ -z "$ext" ]; then
-		continue
-	fi
-	if [ ! -d "$ext" ]; then
-		echo >&2 "error: $PWD/$ext does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	exts="$exts $ext"
-done
-
-if [ -z "$exts" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if [ -n "$PHPIZE_DEPS" ]; then
-		if apk info --installed .phpize-deps-configure > /dev/null; then
-			apkDel='.phpize-deps-configure'
-		elif ! apk info --installed .phpize-deps > /dev/null; then
-			apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
-			apkDel='.phpize-deps'
-		fi
-	fi
-fi
-
-popDir="$PWD"
-for ext in $exts; do
-	cd "$ext"
-
-	[ -e Makefile ] || docker-php-ext-configure "$ext"
-
-	make -j"$j"
-
-	if ! php -n -d 'display_errors=stderr' -r 'exit(ZEND_DEBUG_BUILD ? 0 : 1);' > /dev/null; then
-		# only "strip" modules if we aren't using a debug build of PHP
-		# (none of our builds are debug builds, but PHP might be recompiled with "--enable-debug" configure option)
-		# https://github.com/docker-library/php/issues/1268
-
-		find modules \
-			-maxdepth 1 \
-			-name '*.so' \
-			-exec sh -euxc ' \
-				strip --strip-all "$@" || :
-			' -- '{}' +
-	fi
-
-	make -j"$j" install
-
-	find modules \
-		-maxdepth 1 \
-		-name '*.so' \
-		-exec basename '{}' ';' \
-			| xargs -r docker-php-ext-enable ${iniName:+--ini-name "$iniName"}
-
-	make -j"$j" clean
-
-	cd "$popDir"
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
-
-if [ -e /usr/src/php/.docker-delete-me ]; then
-	docker-php-source delete
-fi
diff --git a/8.1-rc/bullseye/cli/docker-php-source b/8.1-rc/bullseye/cli/docker-php-source
deleted file mode 100755
index 9033d243..00000000
--- a/8.1-rc/bullseye/cli/docker-php-source
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-dir=/usr/src/php
-
-usage() {
-	echo "usage: $0 COMMAND"
-	echo
-	echo "Manage php source tarball lifecycle."
-	echo
-	echo "Commands:"
-	echo "   extract  extract php source tarball into directory $dir if not already done."
-	echo "   delete   delete extracted php source located into $dir if not already done."
-	echo
-}
-
-case "$1" in
-	extract)
-		mkdir -p "$dir"
-		if [ ! -f "$dir/.docker-extracted" ]; then
-			tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1
-			touch "$dir/.docker-extracted"
-		fi
-		;;
-
-	delete)
-		rm -rf "$dir"
-		;;
-
-	*)
-		usage
-		exit 1
-		;;
-esac
diff --git a/8.1-rc/bullseye/fpm/Dockerfile b/8.1-rc/bullseye/fpm/Dockerfile
deleted file mode 100644
index e94ebbac..00000000
--- a/8.1-rc/bullseye/fpm/Dockerfile
+++ /dev/null
@@ -1,271 +0,0 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM debian:bullseye-slim
-
-# prevent Debian's PHP packages from being installed
-# https://github.com/docker-library/php/pull/542
-RUN set -eux; \
-	{ \
-		echo 'Package: php*'; \
-		echo 'Pin: release *'; \
-		echo 'Pin-Priority: -1'; \
-	} > /etc/apt/preferences.d/no-debian-php
-
-# dependencies required for running "phpize"
-# (see persistent deps below)
-ENV PHPIZE_DEPS \
-		autoconf \
-		dpkg-dev \
-		file \
-		g++ \
-		gcc \
-		libc-dev \
-		make \
-		pkg-config \
-		re2c
-
-# persistent / runtime deps
-RUN set -eux; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		$PHPIZE_DEPS \
-		ca-certificates \
-		curl \
-		xz-utils \
-	; \
-	rm -rf /var/lib/apt/lists/*
-
-ENV PHP_INI_DIR /usr/local/etc/php
-RUN set -eux; \
-	mkdir -p "$PHP_INI_DIR/conf.d"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-	[ ! -d /var/www/html ]; \
-	mkdir -p /var/www/html; \
-	chown www-data:www-data /var/www/html; \
-	chmod 777 /var/www/html
-
-# Apply stack smash protection to functions using local buffers and alloca()
-# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64)
-# Enable optimization (-O2)
-# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default)
-# https://github.com/docker-library/php/issues/272
-# -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php)
-ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-ENV PHP_CPPFLAGS="$PHP_CFLAGS"
-ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
-
-ENV PHP_VERSION 8.1.12RC1
-ENV PHP_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc"
-ENV PHP_SHA256="7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371"
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends gnupg dirmngr; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-	mkdir -p /usr/src; \
-	cd /usr/src; \
-	\
-	curl -fsSL -o php.tar.xz "$PHP_URL"; \
-	\
-	if [ -n "$PHP_SHA256" ]; then \
-		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \
-	fi; \
-	\
-	if [ -n "$PHP_ASC_URL" ]; then \
-		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; \
-		export GNUPGHOME="$(mktemp -d)"; \
-		for key in $GPG_KEYS; do \
-			gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
-		done; \
-		gpg --batch --verify php.tar.xz.asc php.tar.xz; \
-		gpgconf --kill all; \
-		rm -rf "$GNUPGHOME"; \
-	fi; \
-	\
-	apt-mark auto '.*' > /dev/null; \
-	apt-mark manual $savedAptMark > /dev/null; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
-
-COPY docker-php-source /usr/local/bin/
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		libargon2-dev \
-		libcurl4-openssl-dev \
-		libonig-dev \
-		libreadline-dev \
-		libsodium-dev \
-		libsqlite3-dev \
-		libssl-dev \
-		libxml2-dev \
-		zlib1g-dev \
-	; \
-	\
-	export \
-		CFLAGS="$PHP_CFLAGS" \
-		CPPFLAGS="$PHP_CPPFLAGS" \
-		LDFLAGS="$PHP_LDFLAGS" \
-	; \
-	docker-php-source extract; \
-	cd /usr/src/php; \
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
-	debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
-# https://bugs.php.net/bug.php?id=74125
-	if [ ! -d /usr/include/curl ]; then \
-		ln -sT "/usr/include/$debMultiarch/curl" /usr/local/include/curl; \
-	fi; \
-	./configure \
-		--build="$gnuArch" \
-		--with-config-file-path="$PHP_INI_DIR" \
-		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
-		\
-# make sure invalid --configure-flags are fatal errors instead of just warnings
-		--enable-option-checking=fatal \
-		\
-# https://github.com/docker-library/php/issues/439
-		--with-mhash \
-		\
-# https://github.com/docker-library/php/issues/822
-		--with-pic \
-		\
-# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (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)
-		--enable-mysqlnd \
-# https://wiki.php.net/rfc/argon2_password_hash
-		--with-password-argon2 \
-# https://wiki.php.net/rfc/libsodium
-		--with-sodium=shared \
-# always build against system sqlite3 (https://github.com/php/php-src/commit/6083a387a81dbbd66d6316a3a12a63f06d5f7109)
-		--with-pdo-sqlite=/usr \
-		--with-sqlite3=/usr \
-		\
-		--with-curl \
-		--with-iconv \
-		--with-openssl \
-		--with-readline \
-		--with-zlib \
-		\
-# https://github.com/bwoebi/phpdbg-docs/issues/1#issuecomment-163872806 ("phpdbg is primarily a CLI debugger, and is not suitable for debugging an fpm stack.")
-		--disable-phpdbg \
-		\
-# 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 s390x
-# https://manpages.debian.org/bullseye/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
-		$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
-		--with-libdir="lib/$debMultiarch" \
-		\
-		--disable-cgi \
-		\
-		--enable-fpm \
-		--with-fpm-user=www-data \
-		--with-fpm-group=www-data \
-	; \
-	make -j "$(nproc)"; \
-	find -type f -name '*.a' -delete; \
-	make install; \
-	find \
-		/usr/local \
-		-type f \
-		-perm '/0111' \
-		-exec sh -euxc ' \
-			strip --strip-all "$@" || : \
-		' -- '{}' + \
-	; \
-	make clean; \
-	\
-# https://github.com/docker-library/php/issues/692 (copy default example "php.ini" files somewhere easily discoverable)
-	cp -v php.ini-* "$PHP_INI_DIR/"; \
-	\
-	cd /; \
-	docker-php-source delete; \
-	\
-# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
-	apt-mark auto '.*' > /dev/null; \
-	[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
-	find /usr/local -type f -executable -exec ldd '{}' ';' \
-		| awk '/=>/ { print $(NF-1) }' \
-		| sort -u \
-		| xargs -r dpkg-query --search \
-		| cut -d: -f1 \
-		| sort -u \
-		| xargs -r apt-mark manual \
-	; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-# update pecl channel definitions https://github.com/docker-library/php/issues/443
-	pecl update-channels; \
-	rm -rf /tmp/pear ~/.pearrc; \
-	\
-# smoke test
-	php --version
-
-COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
-
-# sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598)
-RUN docker-php-ext-enable sodium
-
-ENTRYPOINT ["docker-php-entrypoint"]
-WORKDIR /var/www/html
-
-RUN set -eux; \
-	cd /usr/local/etc; \
-	if [ -d php-fpm.d ]; then \
-		# for some reason, upstream's php-fpm.conf.default has "include=NONE/etc/php-fpm.d/*.conf"
-		sed 's!=NONE/!=!g' php-fpm.conf.default | tee php-fpm.conf > /dev/null; \
-		cp php-fpm.d/www.conf.default php-fpm.d/www.conf; \
-	else \
-		# PHP 5.x doesn't use "include=" by default, so we'll create our own simple config that mimics PHP 7+ for consistency
-		mkdir php-fpm.d; \
-		cp php-fpm.conf.default php-fpm.d/www.conf; \
-		{ \
-			echo '[global]'; \
-			echo 'include=etc/php-fpm.d/*.conf'; \
-		} | tee php-fpm.conf; \
-	fi; \
-	{ \
-		echo '[global]'; \
-		echo 'error_log = /proc/self/fd/2'; \
-		echo; echo '; https://github.com/docker-library/php/pull/725#issuecomment-443540114'; echo 'log_limit = 8192'; \
-		echo; \
-		echo '[www]'; \
-		echo '; if we send this to /proc/self/fd/1, it never appears'; \
-		echo 'access.log = /proc/self/fd/2'; \
-		echo; \
-		echo 'clear_env = no'; \
-		echo; \
-		echo '; Ensure worker stdout and stderr are sent to the main error log.'; \
-		echo 'catch_workers_output = yes'; \
-		echo 'decorate_workers_output = no'; \
-	} | tee php-fpm.d/docker.conf; \
-	{ \
-		echo '[global]'; \
-		echo 'daemonize = no'; \
-		echo; \
-		echo '[www]'; \
-		echo 'listen = 9000'; \
-	} | tee php-fpm.d/zz-docker.conf
-
-# Override stop signal to stop process gracefully
-# https://github.com/php/php-src/blob/17baa87faddc2550def3ae7314236826bc1b1398/sapi/fpm/php-fpm.8.in#L163
-STOPSIGNAL SIGQUIT
-
-EXPOSE 9000
-CMD ["php-fpm"]
diff --git a/8.1-rc/bullseye/fpm/docker-php-entrypoint b/8.1-rc/bullseye/fpm/docker-php-entrypoint
deleted file mode 100755
index 86343d80..00000000
--- a/8.1-rc/bullseye/fpm/docker-php-entrypoint
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-# first arg is `-f` or `--some-option`
-if [ "${1#-}" != "$1" ]; then
-	set -- php-fpm "$@"
-fi
-
-exec "$@"
diff --git a/8.1-rc/bullseye/fpm/docker-php-ext-configure b/8.1-rc/bullseye/fpm/docker-php-ext-configure
deleted file mode 100755
index 34fc1337..00000000
--- a/8.1-rc/bullseye/fpm/docker-php-ext-configure
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 ext-name [configure flags]"
-	echo "   ie: $0 gd --with-jpeg-dir=/usr/local/something"
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-ext="$1"
-if [ -z "$ext" ] || [ ! -d "$ext" ]; then
-	usage >&2
-	exit 1
-fi
-shift
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS
-	fi
-fi
-
-if command -v dpkg-architecture > /dev/null; then
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"
-	set -- --build="$gnuArch" "$@"
-fi
-
-cd "$ext"
-phpize
-./configure --enable-option-checking=fatal "$@"
diff --git a/8.1-rc/bullseye/fpm/docker-php-ext-enable b/8.1-rc/bullseye/fpm/docker-php-ext-enable
deleted file mode 100755
index 41d20bbe..00000000
--- a/8.1-rc/bullseye/fpm/docker-php-ext-enable
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-set -e
-
-extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
-cd "$extDir"
-
-usage() {
-	echo "usage: $0 [options] module-name [module-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 --ini-name 0-apc.ini apcu apc"
-	echo
-	echo 'Possible values for module-name:'
-	find -maxdepth 1 \
-			-type f \
-			-name '*.so' \
-			-exec basename '{}' ';' \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-modules=
-for module; do
-	if [ -z "$module" ]; then
-		continue
-	fi
-	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
-		echo >&2 "error: '$module' does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	modules="$modules $module"
-done
-
-if [ -z "$modules" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
-		apkDel='.docker-php-ext-enable-deps'
-	fi
-fi
-
-for module in $modules; do
-	moduleFile="$module"
-	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
-		moduleFile="$module.so"
-	fi
-	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
-		# https://wiki.php.net/internals/extensions#loading_zend_extensions
-		line="zend_extension=$module"
-	else
-		line="extension=$module"
-	fi
-
-	ext="$(basename "$module")"
-	ext="${ext%.*}"
-	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
-		# this isn't perfect, but it's better than nothing
-		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
-		echo >&2
-		echo >&2 "warning: $ext ($module) is already loaded!"
-		echo >&2
-		continue
-	fi
-
-	case "$iniName" in
-		/*)
-			# allow an absolute path
-			ini="$iniName"
-			;;
-		*)
-			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
-			;;
-	esac
-	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
-		echo "$line" >> "$ini"
-	fi
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
diff --git a/8.1-rc/bullseye/fpm/docker-php-ext-install b/8.1-rc/bullseye/fpm/docker-php-ext-install
deleted file mode 100755
index aa0b96c5..00000000
--- a/8.1-rc/bullseye/fpm/docker-php-ext-install
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 [-jN] [--ini-name file.ini] ext-name [ext-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop"
-	echo
-	echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?j:' --long 'help,ini-name:,jobs:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-j=1
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--jobs|-j) j="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-exts=
-for ext; do
-	if [ -z "$ext" ]; then
-		continue
-	fi
-	if [ ! -d "$ext" ]; then
-		echo >&2 "error: $PWD/$ext does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	exts="$exts $ext"
-done
-
-if [ -z "$exts" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if [ -n "$PHPIZE_DEPS" ]; then
-		if apk info --installed .phpize-deps-configure > /dev/null; then
-			apkDel='.phpize-deps-configure'
-		elif ! apk info --installed .phpize-deps > /dev/null; then
-			apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
-			apkDel='.phpize-deps'
-		fi
-	fi
-fi
-
-popDir="$PWD"
-for ext in $exts; do
-	cd "$ext"
-
-	[ -e Makefile ] || docker-php-ext-configure "$ext"
-
-	make -j"$j"
-
-	if ! php -n -d 'display_errors=stderr' -r 'exit(ZEND_DEBUG_BUILD ? 0 : 1);' > /dev/null; then
-		# only "strip" modules if we aren't using a debug build of PHP
-		# (none of our builds are debug builds, but PHP might be recompiled with "--enable-debug" configure option)
-		# https://github.com/docker-library/php/issues/1268
-
-		find modules \
-			-maxdepth 1 \
-			-name '*.so' \
-			-exec sh -euxc ' \
-				strip --strip-all "$@" || :
-			' -- '{}' +
-	fi
-
-	make -j"$j" install
-
-	find modules \
-		-maxdepth 1 \
-		-name '*.so' \
-		-exec basename '{}' ';' \
-			| xargs -r docker-php-ext-enable ${iniName:+--ini-name "$iniName"}
-
-	make -j"$j" clean
-
-	cd "$popDir"
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
-
-if [ -e /usr/src/php/.docker-delete-me ]; then
-	docker-php-source delete
-fi
diff --git a/8.1-rc/bullseye/fpm/docker-php-source b/8.1-rc/bullseye/fpm/docker-php-source
deleted file mode 100755
index 9033d243..00000000
--- a/8.1-rc/bullseye/fpm/docker-php-source
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-dir=/usr/src/php
-
-usage() {
-	echo "usage: $0 COMMAND"
-	echo
-	echo "Manage php source tarball lifecycle."
-	echo
-	echo "Commands:"
-	echo "   extract  extract php source tarball into directory $dir if not already done."
-	echo "   delete   delete extracted php source located into $dir if not already done."
-	echo
-}
-
-case "$1" in
-	extract)
-		mkdir -p "$dir"
-		if [ ! -f "$dir/.docker-extracted" ]; then
-			tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1
-			touch "$dir/.docker-extracted"
-		fi
-		;;
-
-	delete)
-		rm -rf "$dir"
-		;;
-
-	*)
-		usage
-		exit 1
-		;;
-esac
diff --git a/8.1-rc/bullseye/zts/Dockerfile b/8.1-rc/bullseye/zts/Dockerfile
deleted file mode 100644
index ae2a5428..00000000
--- a/8.1-rc/bullseye/zts/Dockerfile
+++ /dev/null
@@ -1,227 +0,0 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM debian:bullseye-slim
-
-# prevent Debian's PHP packages from being installed
-# https://github.com/docker-library/php/pull/542
-RUN set -eux; \
-	{ \
-		echo 'Package: php*'; \
-		echo 'Pin: release *'; \
-		echo 'Pin-Priority: -1'; \
-	} > /etc/apt/preferences.d/no-debian-php
-
-# dependencies required for running "phpize"
-# (see persistent deps below)
-ENV PHPIZE_DEPS \
-		autoconf \
-		dpkg-dev \
-		file \
-		g++ \
-		gcc \
-		libc-dev \
-		make \
-		pkg-config \
-		re2c
-
-# persistent / runtime deps
-RUN set -eux; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		$PHPIZE_DEPS \
-		ca-certificates \
-		curl \
-		xz-utils \
-	; \
-	rm -rf /var/lib/apt/lists/*
-
-ENV PHP_INI_DIR /usr/local/etc/php
-RUN set -eux; \
-	mkdir -p "$PHP_INI_DIR/conf.d"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-	[ ! -d /var/www/html ]; \
-	mkdir -p /var/www/html; \
-	chown www-data:www-data /var/www/html; \
-	chmod 777 /var/www/html
-
-# Apply stack smash protection to functions using local buffers and alloca()
-# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64)
-# Enable optimization (-O2)
-# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default)
-# https://github.com/docker-library/php/issues/272
-# -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php)
-ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-ENV PHP_CPPFLAGS="$PHP_CFLAGS"
-ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
-
-ENV PHP_VERSION 8.1.12RC1
-ENV PHP_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc"
-ENV PHP_SHA256="7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371"
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends gnupg dirmngr; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-	mkdir -p /usr/src; \
-	cd /usr/src; \
-	\
-	curl -fsSL -o php.tar.xz "$PHP_URL"; \
-	\
-	if [ -n "$PHP_SHA256" ]; then \
-		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \
-	fi; \
-	\
-	if [ -n "$PHP_ASC_URL" ]; then \
-		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; \
-		export GNUPGHOME="$(mktemp -d)"; \
-		for key in $GPG_KEYS; do \
-			gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
-		done; \
-		gpg --batch --verify php.tar.xz.asc php.tar.xz; \
-		gpgconf --kill all; \
-		rm -rf "$GNUPGHOME"; \
-	fi; \
-	\
-	apt-mark auto '.*' > /dev/null; \
-	apt-mark manual $savedAptMark > /dev/null; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
-
-COPY docker-php-source /usr/local/bin/
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		libargon2-dev \
-		libcurl4-openssl-dev \
-		libonig-dev \
-		libreadline-dev \
-		libsodium-dev \
-		libsqlite3-dev \
-		libssl-dev \
-		libxml2-dev \
-		zlib1g-dev \
-	; \
-	\
-	export \
-		CFLAGS="$PHP_CFLAGS" \
-		CPPFLAGS="$PHP_CPPFLAGS" \
-		LDFLAGS="$PHP_LDFLAGS" \
-	; \
-	docker-php-source extract; \
-	cd /usr/src/php; \
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
-	debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
-# https://bugs.php.net/bug.php?id=74125
-	if [ ! -d /usr/include/curl ]; then \
-		ln -sT "/usr/include/$debMultiarch/curl" /usr/local/include/curl; \
-	fi; \
-	./configure \
-		--build="$gnuArch" \
-		--with-config-file-path="$PHP_INI_DIR" \
-		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
-		\
-# make sure invalid --configure-flags are fatal errors instead of just warnings
-		--enable-option-checking=fatal \
-		\
-# https://github.com/docker-library/php/issues/439
-		--with-mhash \
-		\
-# https://github.com/docker-library/php/issues/822
-		--with-pic \
-		\
-# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (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)
-		--enable-mysqlnd \
-# https://wiki.php.net/rfc/argon2_password_hash
-		--with-password-argon2 \
-# https://wiki.php.net/rfc/libsodium
-		--with-sodium=shared \
-# always build against system sqlite3 (https://github.com/php/php-src/commit/6083a387a81dbbd66d6316a3a12a63f06d5f7109)
-		--with-pdo-sqlite=/usr \
-		--with-sqlite3=/usr \
-		\
-		--with-curl \
-		--with-iconv \
-		--with-openssl \
-		--with-readline \
-		--with-zlib \
-		\
-# https://github.com/bwoebi/phpdbg-docs/issues/1#issuecomment-163872806 ("phpdbg is primarily a CLI debugger, and is not suitable for debugging an fpm stack.")
-		--disable-phpdbg \
-		\
-# 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 s390x
-# https://manpages.debian.org/bullseye/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
-		$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
-		--with-libdir="lib/$debMultiarch" \
-		\
-		--disable-cgi \
-		\
-# https://github.com/docker-library/php/pull/939#issuecomment-730501748
-		--enable-embed \
-		\
-		--enable-zts \
-	; \
-	make -j "$(nproc)"; \
-	find -type f -name '*.a' -delete; \
-	make install; \
-	find \
-		/usr/local \
-		-type f \
-		-perm '/0111' \
-		-exec sh -euxc ' \
-			strip --strip-all "$@" || : \
-		' -- '{}' + \
-	; \
-	make clean; \
-	\
-# https://github.com/docker-library/php/issues/692 (copy default example "php.ini" files somewhere easily discoverable)
-	cp -v php.ini-* "$PHP_INI_DIR/"; \
-	\
-	cd /; \
-	docker-php-source delete; \
-	\
-# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
-	apt-mark auto '.*' > /dev/null; \
-	[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
-	find /usr/local -type f -executable -exec ldd '{}' ';' \
-		| awk '/=>/ { print $(NF-1) }' \
-		| sort -u \
-		| xargs -r dpkg-query --search \
-		| cut -d: -f1 \
-		| sort -u \
-		| xargs -r apt-mark manual \
-	; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-# update pecl channel definitions https://github.com/docker-library/php/issues/443
-	pecl update-channels; \
-	rm -rf /tmp/pear ~/.pearrc; \
-	\
-# smoke test
-	php --version
-
-COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
-
-# sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598)
-RUN docker-php-ext-enable sodium
-
-ENTRYPOINT ["docker-php-entrypoint"]
-CMD ["php", "-a"]
diff --git a/8.1-rc/bullseye/zts/docker-php-entrypoint b/8.1-rc/bullseye/zts/docker-php-entrypoint
deleted file mode 100755
index 88a016c1..00000000
--- a/8.1-rc/bullseye/zts/docker-php-entrypoint
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-# first arg is `-f` or `--some-option`
-if [ "${1#-}" != "$1" ]; then
-	set -- php "$@"
-fi
-
-exec "$@"
diff --git a/8.1-rc/bullseye/zts/docker-php-ext-configure b/8.1-rc/bullseye/zts/docker-php-ext-configure
deleted file mode 100755
index 34fc1337..00000000
--- a/8.1-rc/bullseye/zts/docker-php-ext-configure
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 ext-name [configure flags]"
-	echo "   ie: $0 gd --with-jpeg-dir=/usr/local/something"
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-ext="$1"
-if [ -z "$ext" ] || [ ! -d "$ext" ]; then
-	usage >&2
-	exit 1
-fi
-shift
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS
-	fi
-fi
-
-if command -v dpkg-architecture > /dev/null; then
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"
-	set -- --build="$gnuArch" "$@"
-fi
-
-cd "$ext"
-phpize
-./configure --enable-option-checking=fatal "$@"
diff --git a/8.1-rc/bullseye/zts/docker-php-ext-enable b/8.1-rc/bullseye/zts/docker-php-ext-enable
deleted file mode 100755
index 41d20bbe..00000000
--- a/8.1-rc/bullseye/zts/docker-php-ext-enable
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-set -e
-
-extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
-cd "$extDir"
-
-usage() {
-	echo "usage: $0 [options] module-name [module-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 --ini-name 0-apc.ini apcu apc"
-	echo
-	echo 'Possible values for module-name:'
-	find -maxdepth 1 \
-			-type f \
-			-name '*.so' \
-			-exec basename '{}' ';' \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-modules=
-for module; do
-	if [ -z "$module" ]; then
-		continue
-	fi
-	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
-		echo >&2 "error: '$module' does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	modules="$modules $module"
-done
-
-if [ -z "$modules" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
-		apkDel='.docker-php-ext-enable-deps'
-	fi
-fi
-
-for module in $modules; do
-	moduleFile="$module"
-	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
-		moduleFile="$module.so"
-	fi
-	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
-		# https://wiki.php.net/internals/extensions#loading_zend_extensions
-		line="zend_extension=$module"
-	else
-		line="extension=$module"
-	fi
-
-	ext="$(basename "$module")"
-	ext="${ext%.*}"
-	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
-		# this isn't perfect, but it's better than nothing
-		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
-		echo >&2
-		echo >&2 "warning: $ext ($module) is already loaded!"
-		echo >&2
-		continue
-	fi
-
-	case "$iniName" in
-		/*)
-			# allow an absolute path
-			ini="$iniName"
-			;;
-		*)
-			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
-			;;
-	esac
-	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
-		echo "$line" >> "$ini"
-	fi
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
diff --git a/8.1-rc/bullseye/zts/docker-php-ext-install b/8.1-rc/bullseye/zts/docker-php-ext-install
deleted file mode 100755
index aa0b96c5..00000000
--- a/8.1-rc/bullseye/zts/docker-php-ext-install
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 [-jN] [--ini-name file.ini] ext-name [ext-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop"
-	echo
-	echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?j:' --long 'help,ini-name:,jobs:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-j=1
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--jobs|-j) j="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-exts=
-for ext; do
-	if [ -z "$ext" ]; then
-		continue
-	fi
-	if [ ! -d "$ext" ]; then
-		echo >&2 "error: $PWD/$ext does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	exts="$exts $ext"
-done
-
-if [ -z "$exts" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if [ -n "$PHPIZE_DEPS" ]; then
-		if apk info --installed .phpize-deps-configure > /dev/null; then
-			apkDel='.phpize-deps-configure'
-		elif ! apk info --installed .phpize-deps > /dev/null; then
-			apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
-			apkDel='.phpize-deps'
-		fi
-	fi
-fi
-
-popDir="$PWD"
-for ext in $exts; do
-	cd "$ext"
-
-	[ -e Makefile ] || docker-php-ext-configure "$ext"
-
-	make -j"$j"
-
-	if ! php -n -d 'display_errors=stderr' -r 'exit(ZEND_DEBUG_BUILD ? 0 : 1);' > /dev/null; then
-		# only "strip" modules if we aren't using a debug build of PHP
-		# (none of our builds are debug builds, but PHP might be recompiled with "--enable-debug" configure option)
-		# https://github.com/docker-library/php/issues/1268
-
-		find modules \
-			-maxdepth 1 \
-			-name '*.so' \
-			-exec sh -euxc ' \
-				strip --strip-all "$@" || :
-			' -- '{}' +
-	fi
-
-	make -j"$j" install
-
-	find modules \
-		-maxdepth 1 \
-		-name '*.so' \
-		-exec basename '{}' ';' \
-			| xargs -r docker-php-ext-enable ${iniName:+--ini-name "$iniName"}
-
-	make -j"$j" clean
-
-	cd "$popDir"
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
-
-if [ -e /usr/src/php/.docker-delete-me ]; then
-	docker-php-source delete
-fi
diff --git a/8.1-rc/bullseye/zts/docker-php-source b/8.1-rc/bullseye/zts/docker-php-source
deleted file mode 100755
index 9033d243..00000000
--- a/8.1-rc/bullseye/zts/docker-php-source
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-dir=/usr/src/php
-
-usage() {
-	echo "usage: $0 COMMAND"
-	echo
-	echo "Manage php source tarball lifecycle."
-	echo
-	echo "Commands:"
-	echo "   extract  extract php source tarball into directory $dir if not already done."
-	echo "   delete   delete extracted php source located into $dir if not already done."
-	echo
-}
-
-case "$1" in
-	extract)
-		mkdir -p "$dir"
-		if [ ! -f "$dir/.docker-extracted" ]; then
-			tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1
-			touch "$dir/.docker-extracted"
-		fi
-		;;
-
-	delete)
-		rm -rf "$dir"
-		;;
-
-	*)
-		usage
-		exit 1
-		;;
-esac
diff --git a/8.1-rc/buster/apache/Dockerfile b/8.1-rc/buster/apache/Dockerfile
deleted file mode 100644
index 57babd3c..00000000
--- a/8.1-rc/buster/apache/Dockerfile
+++ /dev/null
@@ -1,290 +0,0 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM debian:buster-slim
-
-# prevent Debian's PHP packages from being installed
-# https://github.com/docker-library/php/pull/542
-RUN set -eux; \
-	{ \
-		echo 'Package: php*'; \
-		echo 'Pin: release *'; \
-		echo 'Pin-Priority: -1'; \
-	} > /etc/apt/preferences.d/no-debian-php
-
-# dependencies required for running "phpize"
-# (see persistent deps below)
-ENV PHPIZE_DEPS \
-		autoconf \
-		dpkg-dev \
-		file \
-		g++ \
-		gcc \
-		libc-dev \
-		make \
-		pkg-config \
-		re2c
-
-# persistent / runtime deps
-RUN set -eux; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		$PHPIZE_DEPS \
-		ca-certificates \
-		curl \
-		xz-utils \
-	; \
-	rm -rf /var/lib/apt/lists/*
-
-ENV PHP_INI_DIR /usr/local/etc/php
-RUN set -eux; \
-	mkdir -p "$PHP_INI_DIR/conf.d"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-	[ ! -d /var/www/html ]; \
-	mkdir -p /var/www/html; \
-	chown www-data:www-data /var/www/html; \
-	chmod 777 /var/www/html
-
-ENV APACHE_CONFDIR /etc/apache2
-ENV APACHE_ENVVARS $APACHE_CONFDIR/envvars
-
-RUN set -eux; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends apache2; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-# generically convert lines like
-#   export APACHE_RUN_USER=www-data
-# into
-#   : ${APACHE_RUN_USER:=www-data}
-#   export APACHE_RUN_USER
-# so that they can be overridden at runtime ("-e APACHE_RUN_USER=...")
-	sed -ri 's/^export ([^=]+)=(.*)$/: ${\1:=\2}\nexport \1/' "$APACHE_ENVVARS"; \
-	\
-# setup directories and permissions
-	. "$APACHE_ENVVARS"; \
-	for dir in \
-		"$APACHE_LOCK_DIR" \
-		"$APACHE_RUN_DIR" \
-		"$APACHE_LOG_DIR" \
-	; do \
-		rm -rvf "$dir"; \
-		mkdir -p "$dir"; \
-		chown "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$dir"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-		chmod 777 "$dir"; \
-	done; \
-	\
-# delete the "index.html" that installing Apache drops in here
-	rm -rvf /var/www/html/*; \
-	\
-# logs should go to stdout / stderr
-	ln -sfT /dev/stderr "$APACHE_LOG_DIR/error.log"; \
-	ln -sfT /dev/stdout "$APACHE_LOG_DIR/access.log"; \
-	ln -sfT /dev/stdout "$APACHE_LOG_DIR/other_vhosts_access.log"; \
-	chown -R --no-dereference "$APACHE_RUN_USER:$APACHE_RUN_GROUP" "$APACHE_LOG_DIR"
-
-# Apache + PHP requires preforking Apache for best results
-RUN a2dismod mpm_event && a2enmod mpm_prefork
-
-# PHP files should be handled by PHP, and should be preferred over any other file type
-RUN { \
-		echo '<FilesMatch \.php$>'; \
-		echo '\tSetHandler application/x-httpd-php'; \
-		echo '</FilesMatch>'; \
-		echo; \
-		echo 'DirectoryIndex disabled'; \
-		echo 'DirectoryIndex index.php index.html'; \
-		echo; \
-		echo '<Directory /var/www/>'; \
-		echo '\tOptions -Indexes'; \
-		echo '\tAllowOverride All'; \
-		echo '</Directory>'; \
-	} | tee "$APACHE_CONFDIR/conf-available/docker-php.conf" \
-	&& a2enconf docker-php
-
-# Apply stack smash protection to functions using local buffers and alloca()
-# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64)
-# Enable optimization (-O2)
-# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default)
-# https://github.com/docker-library/php/issues/272
-# -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php)
-ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-ENV PHP_CPPFLAGS="$PHP_CFLAGS"
-ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
-
-ENV PHP_VERSION 8.1.12RC1
-ENV PHP_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc"
-ENV PHP_SHA256="7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371"
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends gnupg dirmngr; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-	mkdir -p /usr/src; \
-	cd /usr/src; \
-	\
-	curl -fsSL -o php.tar.xz "$PHP_URL"; \
-	\
-	if [ -n "$PHP_SHA256" ]; then \
-		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \
-	fi; \
-	\
-	if [ -n "$PHP_ASC_URL" ]; then \
-		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; \
-		export GNUPGHOME="$(mktemp -d)"; \
-		for key in $GPG_KEYS; do \
-			gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
-		done; \
-		gpg --batch --verify php.tar.xz.asc php.tar.xz; \
-		gpgconf --kill all; \
-		rm -rf "$GNUPGHOME"; \
-	fi; \
-	\
-	apt-mark auto '.*' > /dev/null; \
-	apt-mark manual $savedAptMark > /dev/null; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
-
-COPY docker-php-source /usr/local/bin/
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		apache2-dev \
-		libargon2-dev \
-		libcurl4-openssl-dev \
-		libonig-dev \
-		libreadline-dev \
-		libsodium-dev \
-		libsqlite3-dev \
-		libssl-dev \
-		libxml2-dev \
-		zlib1g-dev \
-	; \
-	\
-	export \
-		CFLAGS="$PHP_CFLAGS" \
-		CPPFLAGS="$PHP_CPPFLAGS" \
-		LDFLAGS="$PHP_LDFLAGS" \
-	; \
-	docker-php-source extract; \
-	cd /usr/src/php; \
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
-	debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
-# https://bugs.php.net/bug.php?id=74125
-	if [ ! -d /usr/include/curl ]; then \
-		ln -sT "/usr/include/$debMultiarch/curl" /usr/local/include/curl; \
-	fi; \
-	./configure \
-		--build="$gnuArch" \
-		--with-config-file-path="$PHP_INI_DIR" \
-		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
-		\
-# make sure invalid --configure-flags are fatal errors instead of just warnings
-		--enable-option-checking=fatal \
-		\
-# https://github.com/docker-library/php/issues/439
-		--with-mhash \
-		\
-# https://github.com/docker-library/php/issues/822
-		--with-pic \
-		\
-# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (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)
-		--enable-mysqlnd \
-# https://wiki.php.net/rfc/argon2_password_hash
-		--with-password-argon2 \
-# https://wiki.php.net/rfc/libsodium
-		--with-sodium=shared \
-# always build against system sqlite3 (https://github.com/php/php-src/commit/6083a387a81dbbd66d6316a3a12a63f06d5f7109)
-		--with-pdo-sqlite=/usr \
-		--with-sqlite3=/usr \
-		\
-		--with-curl \
-		--with-iconv \
-		--with-openssl \
-		--with-readline \
-		--with-zlib \
-		\
-# https://github.com/bwoebi/phpdbg-docs/issues/1#issuecomment-163872806 ("phpdbg is primarily a CLI debugger, and is not suitable for debugging an fpm stack.")
-		--disable-phpdbg \
-		\
-# 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 s390x
-# https://manpages.debian.org/bullseye/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
-		$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
-		--with-libdir="lib/$debMultiarch" \
-		\
-		--disable-cgi \
-		\
-		--with-apxs2 \
-	; \
-	make -j "$(nproc)"; \
-	find -type f -name '*.a' -delete; \
-	make install; \
-	find \
-		/usr/local \
-		-type f \
-		-perm '/0111' \
-		-exec sh -euxc ' \
-			strip --strip-all "$@" || : \
-		' -- '{}' + \
-	; \
-	make clean; \
-	\
-# https://github.com/docker-library/php/issues/692 (copy default example "php.ini" files somewhere easily discoverable)
-	cp -v php.ini-* "$PHP_INI_DIR/"; \
-	\
-	cd /; \
-	docker-php-source delete; \
-	\
-# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
-	apt-mark auto '.*' > /dev/null; \
-	[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
-	find /usr/local -type f -executable -exec ldd '{}' ';' \
-		| awk '/=>/ { print $(NF-1) }' \
-		| sort -u \
-		| xargs -r dpkg-query --search \
-		| cut -d: -f1 \
-		| sort -u \
-		| xargs -r apt-mark manual \
-	; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-# update pecl channel definitions https://github.com/docker-library/php/issues/443
-	pecl update-channels; \
-	rm -rf /tmp/pear ~/.pearrc; \
-	\
-# smoke test
-	php --version
-
-COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
-
-# sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598)
-RUN docker-php-ext-enable sodium
-
-ENTRYPOINT ["docker-php-entrypoint"]
-# https://httpd.apache.org/docs/2.4/stopping.html#gracefulstop
-STOPSIGNAL SIGWINCH
-
-COPY apache2-foreground /usr/local/bin/
-WORKDIR /var/www/html
-
-EXPOSE 80
-CMD ["apache2-foreground"]
diff --git a/8.1-rc/buster/apache/apache2-foreground b/8.1-rc/buster/apache/apache2-foreground
deleted file mode 100755
index 5fe22e26..00000000
--- a/8.1-rc/buster/apache/apache2-foreground
+++ /dev/null
@@ -1,40 +0,0 @@
-#!/bin/bash
-set -e
-
-# Note: we don't just use "apache2ctl" here because it itself is just a shell-script wrapper around apache2 which provides extra functionality like "apache2ctl start" for launching apache2 in the background.
-# (also, when run as "apache2ctl <apache args>", it does not use "exec", which leaves an undesirable resident shell process)
-
-: "${APACHE_CONFDIR:=/etc/apache2}"
-: "${APACHE_ENVVARS:=$APACHE_CONFDIR/envvars}"
-if test -f "$APACHE_ENVVARS"; then
-	. "$APACHE_ENVVARS"
-fi
-
-# Apache gets grumpy about PID files pre-existing
-: "${APACHE_RUN_DIR:=/var/run/apache2}"
-: "${APACHE_PID_FILE:=$APACHE_RUN_DIR/apache2.pid}"
-rm -f "$APACHE_PID_FILE"
-
-# create missing directories
-# (especially APACHE_RUN_DIR, APACHE_LOCK_DIR, and APACHE_LOG_DIR)
-for e in "${!APACHE_@}"; do
-	if [[ "$e" == *_DIR ]] && [[ "${!e}" == /* ]]; then
-		# handle "/var/lock" being a symlink to "/run/lock", but "/run/lock" not existing beforehand, so "/var/lock/something" fails to mkdir
-		#   mkdir: cannot create directory '/var/lock': File exists
-		dir="${!e}"
-		while [ "$dir" != "$(dirname "$dir")" ]; do
-			dir="$(dirname "$dir")"
-			if [ -d "$dir" ]; then
-				break
-			fi
-			absDir="$(readlink -f "$dir" 2>/dev/null || :)"
-			if [ -n "$absDir" ]; then
-				mkdir -p "$absDir"
-			fi
-		done
-
-		mkdir -p "${!e}"
-	fi
-done
-
-exec apache2 -DFOREGROUND "$@"
diff --git a/8.1-rc/buster/apache/docker-php-entrypoint b/8.1-rc/buster/apache/docker-php-entrypoint
deleted file mode 100755
index 3d36d5e8..00000000
--- a/8.1-rc/buster/apache/docker-php-entrypoint
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-# first arg is `-f` or `--some-option`
-if [ "${1#-}" != "$1" ]; then
-	set -- apache2-foreground "$@"
-fi
-
-exec "$@"
diff --git a/8.1-rc/buster/apache/docker-php-ext-configure b/8.1-rc/buster/apache/docker-php-ext-configure
deleted file mode 100755
index 34fc1337..00000000
--- a/8.1-rc/buster/apache/docker-php-ext-configure
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 ext-name [configure flags]"
-	echo "   ie: $0 gd --with-jpeg-dir=/usr/local/something"
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-ext="$1"
-if [ -z "$ext" ] || [ ! -d "$ext" ]; then
-	usage >&2
-	exit 1
-fi
-shift
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS
-	fi
-fi
-
-if command -v dpkg-architecture > /dev/null; then
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"
-	set -- --build="$gnuArch" "$@"
-fi
-
-cd "$ext"
-phpize
-./configure --enable-option-checking=fatal "$@"
diff --git a/8.1-rc/buster/apache/docker-php-ext-enable b/8.1-rc/buster/apache/docker-php-ext-enable
deleted file mode 100755
index 41d20bbe..00000000
--- a/8.1-rc/buster/apache/docker-php-ext-enable
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-set -e
-
-extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
-cd "$extDir"
-
-usage() {
-	echo "usage: $0 [options] module-name [module-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 --ini-name 0-apc.ini apcu apc"
-	echo
-	echo 'Possible values for module-name:'
-	find -maxdepth 1 \
-			-type f \
-			-name '*.so' \
-			-exec basename '{}' ';' \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-modules=
-for module; do
-	if [ -z "$module" ]; then
-		continue
-	fi
-	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
-		echo >&2 "error: '$module' does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	modules="$modules $module"
-done
-
-if [ -z "$modules" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
-		apkDel='.docker-php-ext-enable-deps'
-	fi
-fi
-
-for module in $modules; do
-	moduleFile="$module"
-	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
-		moduleFile="$module.so"
-	fi
-	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
-		# https://wiki.php.net/internals/extensions#loading_zend_extensions
-		line="zend_extension=$module"
-	else
-		line="extension=$module"
-	fi
-
-	ext="$(basename "$module")"
-	ext="${ext%.*}"
-	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
-		# this isn't perfect, but it's better than nothing
-		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
-		echo >&2
-		echo >&2 "warning: $ext ($module) is already loaded!"
-		echo >&2
-		continue
-	fi
-
-	case "$iniName" in
-		/*)
-			# allow an absolute path
-			ini="$iniName"
-			;;
-		*)
-			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
-			;;
-	esac
-	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
-		echo "$line" >> "$ini"
-	fi
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
diff --git a/8.1-rc/buster/apache/docker-php-ext-install b/8.1-rc/buster/apache/docker-php-ext-install
deleted file mode 100755
index aa0b96c5..00000000
--- a/8.1-rc/buster/apache/docker-php-ext-install
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 [-jN] [--ini-name file.ini] ext-name [ext-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop"
-	echo
-	echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?j:' --long 'help,ini-name:,jobs:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-j=1
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--jobs|-j) j="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-exts=
-for ext; do
-	if [ -z "$ext" ]; then
-		continue
-	fi
-	if [ ! -d "$ext" ]; then
-		echo >&2 "error: $PWD/$ext does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	exts="$exts $ext"
-done
-
-if [ -z "$exts" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if [ -n "$PHPIZE_DEPS" ]; then
-		if apk info --installed .phpize-deps-configure > /dev/null; then
-			apkDel='.phpize-deps-configure'
-		elif ! apk info --installed .phpize-deps > /dev/null; then
-			apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
-			apkDel='.phpize-deps'
-		fi
-	fi
-fi
-
-popDir="$PWD"
-for ext in $exts; do
-	cd "$ext"
-
-	[ -e Makefile ] || docker-php-ext-configure "$ext"
-
-	make -j"$j"
-
-	if ! php -n -d 'display_errors=stderr' -r 'exit(ZEND_DEBUG_BUILD ? 0 : 1);' > /dev/null; then
-		# only "strip" modules if we aren't using a debug build of PHP
-		# (none of our builds are debug builds, but PHP might be recompiled with "--enable-debug" configure option)
-		# https://github.com/docker-library/php/issues/1268
-
-		find modules \
-			-maxdepth 1 \
-			-name '*.so' \
-			-exec sh -euxc ' \
-				strip --strip-all "$@" || :
-			' -- '{}' +
-	fi
-
-	make -j"$j" install
-
-	find modules \
-		-maxdepth 1 \
-		-name '*.so' \
-		-exec basename '{}' ';' \
-			| xargs -r docker-php-ext-enable ${iniName:+--ini-name "$iniName"}
-
-	make -j"$j" clean
-
-	cd "$popDir"
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
-
-if [ -e /usr/src/php/.docker-delete-me ]; then
-	docker-php-source delete
-fi
diff --git a/8.1-rc/buster/apache/docker-php-source b/8.1-rc/buster/apache/docker-php-source
deleted file mode 100755
index 9033d243..00000000
--- a/8.1-rc/buster/apache/docker-php-source
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-dir=/usr/src/php
-
-usage() {
-	echo "usage: $0 COMMAND"
-	echo
-	echo "Manage php source tarball lifecycle."
-	echo
-	echo "Commands:"
-	echo "   extract  extract php source tarball into directory $dir if not already done."
-	echo "   delete   delete extracted php source located into $dir if not already done."
-	echo
-}
-
-case "$1" in
-	extract)
-		mkdir -p "$dir"
-		if [ ! -f "$dir/.docker-extracted" ]; then
-			tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1
-			touch "$dir/.docker-extracted"
-		fi
-		;;
-
-	delete)
-		rm -rf "$dir"
-		;;
-
-	*)
-		usage
-		exit 1
-		;;
-esac
diff --git a/8.1-rc/buster/cli/Dockerfile b/8.1-rc/buster/cli/Dockerfile
deleted file mode 100644
index b8062748..00000000
--- a/8.1-rc/buster/cli/Dockerfile
+++ /dev/null
@@ -1,224 +0,0 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM debian:buster-slim
-
-# prevent Debian's PHP packages from being installed
-# https://github.com/docker-library/php/pull/542
-RUN set -eux; \
-	{ \
-		echo 'Package: php*'; \
-		echo 'Pin: release *'; \
-		echo 'Pin-Priority: -1'; \
-	} > /etc/apt/preferences.d/no-debian-php
-
-# dependencies required for running "phpize"
-# (see persistent deps below)
-ENV PHPIZE_DEPS \
-		autoconf \
-		dpkg-dev \
-		file \
-		g++ \
-		gcc \
-		libc-dev \
-		make \
-		pkg-config \
-		re2c
-
-# persistent / runtime deps
-RUN set -eux; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		$PHPIZE_DEPS \
-		ca-certificates \
-		curl \
-		xz-utils \
-	; \
-	rm -rf /var/lib/apt/lists/*
-
-ENV PHP_INI_DIR /usr/local/etc/php
-RUN set -eux; \
-	mkdir -p "$PHP_INI_DIR/conf.d"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-	[ ! -d /var/www/html ]; \
-	mkdir -p /var/www/html; \
-	chown www-data:www-data /var/www/html; \
-	chmod 777 /var/www/html
-
-# Apply stack smash protection to functions using local buffers and alloca()
-# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64)
-# Enable optimization (-O2)
-# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default)
-# https://github.com/docker-library/php/issues/272
-# -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php)
-ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-ENV PHP_CPPFLAGS="$PHP_CFLAGS"
-ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
-
-ENV PHP_VERSION 8.1.12RC1
-ENV PHP_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc"
-ENV PHP_SHA256="7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371"
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends gnupg dirmngr; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-	mkdir -p /usr/src; \
-	cd /usr/src; \
-	\
-	curl -fsSL -o php.tar.xz "$PHP_URL"; \
-	\
-	if [ -n "$PHP_SHA256" ]; then \
-		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \
-	fi; \
-	\
-	if [ -n "$PHP_ASC_URL" ]; then \
-		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; \
-		export GNUPGHOME="$(mktemp -d)"; \
-		for key in $GPG_KEYS; do \
-			gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
-		done; \
-		gpg --batch --verify php.tar.xz.asc php.tar.xz; \
-		gpgconf --kill all; \
-		rm -rf "$GNUPGHOME"; \
-	fi; \
-	\
-	apt-mark auto '.*' > /dev/null; \
-	apt-mark manual $savedAptMark > /dev/null; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
-
-COPY docker-php-source /usr/local/bin/
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		libargon2-dev \
-		libcurl4-openssl-dev \
-		libonig-dev \
-		libreadline-dev \
-		libsodium-dev \
-		libsqlite3-dev \
-		libssl-dev \
-		libxml2-dev \
-		zlib1g-dev \
-	; \
-	\
-	export \
-		CFLAGS="$PHP_CFLAGS" \
-		CPPFLAGS="$PHP_CPPFLAGS" \
-		LDFLAGS="$PHP_LDFLAGS" \
-	; \
-	docker-php-source extract; \
-	cd /usr/src/php; \
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
-	debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
-# https://bugs.php.net/bug.php?id=74125
-	if [ ! -d /usr/include/curl ]; then \
-		ln -sT "/usr/include/$debMultiarch/curl" /usr/local/include/curl; \
-	fi; \
-	./configure \
-		--build="$gnuArch" \
-		--with-config-file-path="$PHP_INI_DIR" \
-		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
-		\
-# make sure invalid --configure-flags are fatal errors instead of just warnings
-		--enable-option-checking=fatal \
-		\
-# https://github.com/docker-library/php/issues/439
-		--with-mhash \
-		\
-# https://github.com/docker-library/php/issues/822
-		--with-pic \
-		\
-# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (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)
-		--enable-mysqlnd \
-# https://wiki.php.net/rfc/argon2_password_hash
-		--with-password-argon2 \
-# https://wiki.php.net/rfc/libsodium
-		--with-sodium=shared \
-# always build against system sqlite3 (https://github.com/php/php-src/commit/6083a387a81dbbd66d6316a3a12a63f06d5f7109)
-		--with-pdo-sqlite=/usr \
-		--with-sqlite3=/usr \
-		\
-		--with-curl \
-		--with-iconv \
-		--with-openssl \
-		--with-readline \
-		--with-zlib \
-		\
-# https://github.com/docker-library/php/pull/1259
-		--enable-phpdbg \
-		--enable-phpdbg-readline \
-		\
-# 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 s390x
-# https://manpages.debian.org/bullseye/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
-		$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
-		--with-libdir="lib/$debMultiarch" \
-		\
-# https://github.com/docker-library/php/pull/939#issuecomment-730501748
-		--enable-embed \
-	; \
-	make -j "$(nproc)"; \
-	find -type f -name '*.a' -delete; \
-	make install; \
-	find \
-		/usr/local \
-		-type f \
-		-perm '/0111' \
-		-exec sh -euxc ' \
-			strip --strip-all "$@" || : \
-		' -- '{}' + \
-	; \
-	make clean; \
-	\
-# https://github.com/docker-library/php/issues/692 (copy default example "php.ini" files somewhere easily discoverable)
-	cp -v php.ini-* "$PHP_INI_DIR/"; \
-	\
-	cd /; \
-	docker-php-source delete; \
-	\
-# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
-	apt-mark auto '.*' > /dev/null; \
-	[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
-	find /usr/local -type f -executable -exec ldd '{}' ';' \
-		| awk '/=>/ { print $(NF-1) }' \
-		| sort -u \
-		| xargs -r dpkg-query --search \
-		| cut -d: -f1 \
-		| sort -u \
-		| xargs -r apt-mark manual \
-	; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-# update pecl channel definitions https://github.com/docker-library/php/issues/443
-	pecl update-channels; \
-	rm -rf /tmp/pear ~/.pearrc; \
-	\
-# smoke test
-	php --version
-
-COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
-
-# sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598)
-RUN docker-php-ext-enable sodium
-
-ENTRYPOINT ["docker-php-entrypoint"]
-CMD ["php", "-a"]
diff --git a/8.1-rc/buster/cli/docker-php-entrypoint b/8.1-rc/buster/cli/docker-php-entrypoint
deleted file mode 100755
index 88a016c1..00000000
--- a/8.1-rc/buster/cli/docker-php-entrypoint
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-# first arg is `-f` or `--some-option`
-if [ "${1#-}" != "$1" ]; then
-	set -- php "$@"
-fi
-
-exec "$@"
diff --git a/8.1-rc/buster/cli/docker-php-ext-configure b/8.1-rc/buster/cli/docker-php-ext-configure
deleted file mode 100755
index 34fc1337..00000000
--- a/8.1-rc/buster/cli/docker-php-ext-configure
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 ext-name [configure flags]"
-	echo "   ie: $0 gd --with-jpeg-dir=/usr/local/something"
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-ext="$1"
-if [ -z "$ext" ] || [ ! -d "$ext" ]; then
-	usage >&2
-	exit 1
-fi
-shift
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS
-	fi
-fi
-
-if command -v dpkg-architecture > /dev/null; then
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"
-	set -- --build="$gnuArch" "$@"
-fi
-
-cd "$ext"
-phpize
-./configure --enable-option-checking=fatal "$@"
diff --git a/8.1-rc/buster/cli/docker-php-ext-enable b/8.1-rc/buster/cli/docker-php-ext-enable
deleted file mode 100755
index 41d20bbe..00000000
--- a/8.1-rc/buster/cli/docker-php-ext-enable
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-set -e
-
-extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
-cd "$extDir"
-
-usage() {
-	echo "usage: $0 [options] module-name [module-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 --ini-name 0-apc.ini apcu apc"
-	echo
-	echo 'Possible values for module-name:'
-	find -maxdepth 1 \
-			-type f \
-			-name '*.so' \
-			-exec basename '{}' ';' \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-modules=
-for module; do
-	if [ -z "$module" ]; then
-		continue
-	fi
-	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
-		echo >&2 "error: '$module' does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	modules="$modules $module"
-done
-
-if [ -z "$modules" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
-		apkDel='.docker-php-ext-enable-deps'
-	fi
-fi
-
-for module in $modules; do
-	moduleFile="$module"
-	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
-		moduleFile="$module.so"
-	fi
-	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
-		# https://wiki.php.net/internals/extensions#loading_zend_extensions
-		line="zend_extension=$module"
-	else
-		line="extension=$module"
-	fi
-
-	ext="$(basename "$module")"
-	ext="${ext%.*}"
-	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
-		# this isn't perfect, but it's better than nothing
-		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
-		echo >&2
-		echo >&2 "warning: $ext ($module) is already loaded!"
-		echo >&2
-		continue
-	fi
-
-	case "$iniName" in
-		/*)
-			# allow an absolute path
-			ini="$iniName"
-			;;
-		*)
-			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
-			;;
-	esac
-	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
-		echo "$line" >> "$ini"
-	fi
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
diff --git a/8.1-rc/buster/cli/docker-php-ext-install b/8.1-rc/buster/cli/docker-php-ext-install
deleted file mode 100755
index aa0b96c5..00000000
--- a/8.1-rc/buster/cli/docker-php-ext-install
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 [-jN] [--ini-name file.ini] ext-name [ext-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop"
-	echo
-	echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?j:' --long 'help,ini-name:,jobs:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-j=1
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--jobs|-j) j="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-exts=
-for ext; do
-	if [ -z "$ext" ]; then
-		continue
-	fi
-	if [ ! -d "$ext" ]; then
-		echo >&2 "error: $PWD/$ext does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	exts="$exts $ext"
-done
-
-if [ -z "$exts" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if [ -n "$PHPIZE_DEPS" ]; then
-		if apk info --installed .phpize-deps-configure > /dev/null; then
-			apkDel='.phpize-deps-configure'
-		elif ! apk info --installed .phpize-deps > /dev/null; then
-			apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
-			apkDel='.phpize-deps'
-		fi
-	fi
-fi
-
-popDir="$PWD"
-for ext in $exts; do
-	cd "$ext"
-
-	[ -e Makefile ] || docker-php-ext-configure "$ext"
-
-	make -j"$j"
-
-	if ! php -n -d 'display_errors=stderr' -r 'exit(ZEND_DEBUG_BUILD ? 0 : 1);' > /dev/null; then
-		# only "strip" modules if we aren't using a debug build of PHP
-		# (none of our builds are debug builds, but PHP might be recompiled with "--enable-debug" configure option)
-		# https://github.com/docker-library/php/issues/1268
-
-		find modules \
-			-maxdepth 1 \
-			-name '*.so' \
-			-exec sh -euxc ' \
-				strip --strip-all "$@" || :
-			' -- '{}' +
-	fi
-
-	make -j"$j" install
-
-	find modules \
-		-maxdepth 1 \
-		-name '*.so' \
-		-exec basename '{}' ';' \
-			| xargs -r docker-php-ext-enable ${iniName:+--ini-name "$iniName"}
-
-	make -j"$j" clean
-
-	cd "$popDir"
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
-
-if [ -e /usr/src/php/.docker-delete-me ]; then
-	docker-php-source delete
-fi
diff --git a/8.1-rc/buster/cli/docker-php-source b/8.1-rc/buster/cli/docker-php-source
deleted file mode 100755
index 9033d243..00000000
--- a/8.1-rc/buster/cli/docker-php-source
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-dir=/usr/src/php
-
-usage() {
-	echo "usage: $0 COMMAND"
-	echo
-	echo "Manage php source tarball lifecycle."
-	echo
-	echo "Commands:"
-	echo "   extract  extract php source tarball into directory $dir if not already done."
-	echo "   delete   delete extracted php source located into $dir if not already done."
-	echo
-}
-
-case "$1" in
-	extract)
-		mkdir -p "$dir"
-		if [ ! -f "$dir/.docker-extracted" ]; then
-			tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1
-			touch "$dir/.docker-extracted"
-		fi
-		;;
-
-	delete)
-		rm -rf "$dir"
-		;;
-
-	*)
-		usage
-		exit 1
-		;;
-esac
diff --git a/8.1-rc/buster/fpm/Dockerfile b/8.1-rc/buster/fpm/Dockerfile
deleted file mode 100644
index 7404e230..00000000
--- a/8.1-rc/buster/fpm/Dockerfile
+++ /dev/null
@@ -1,271 +0,0 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM debian:buster-slim
-
-# prevent Debian's PHP packages from being installed
-# https://github.com/docker-library/php/pull/542
-RUN set -eux; \
-	{ \
-		echo 'Package: php*'; \
-		echo 'Pin: release *'; \
-		echo 'Pin-Priority: -1'; \
-	} > /etc/apt/preferences.d/no-debian-php
-
-# dependencies required for running "phpize"
-# (see persistent deps below)
-ENV PHPIZE_DEPS \
-		autoconf \
-		dpkg-dev \
-		file \
-		g++ \
-		gcc \
-		libc-dev \
-		make \
-		pkg-config \
-		re2c
-
-# persistent / runtime deps
-RUN set -eux; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		$PHPIZE_DEPS \
-		ca-certificates \
-		curl \
-		xz-utils \
-	; \
-	rm -rf /var/lib/apt/lists/*
-
-ENV PHP_INI_DIR /usr/local/etc/php
-RUN set -eux; \
-	mkdir -p "$PHP_INI_DIR/conf.d"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-	[ ! -d /var/www/html ]; \
-	mkdir -p /var/www/html; \
-	chown www-data:www-data /var/www/html; \
-	chmod 777 /var/www/html
-
-# Apply stack smash protection to functions using local buffers and alloca()
-# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64)
-# Enable optimization (-O2)
-# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default)
-# https://github.com/docker-library/php/issues/272
-# -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php)
-ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-ENV PHP_CPPFLAGS="$PHP_CFLAGS"
-ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
-
-ENV PHP_VERSION 8.1.12RC1
-ENV PHP_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc"
-ENV PHP_SHA256="7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371"
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends gnupg dirmngr; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-	mkdir -p /usr/src; \
-	cd /usr/src; \
-	\
-	curl -fsSL -o php.tar.xz "$PHP_URL"; \
-	\
-	if [ -n "$PHP_SHA256" ]; then \
-		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \
-	fi; \
-	\
-	if [ -n "$PHP_ASC_URL" ]; then \
-		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; \
-		export GNUPGHOME="$(mktemp -d)"; \
-		for key in $GPG_KEYS; do \
-			gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
-		done; \
-		gpg --batch --verify php.tar.xz.asc php.tar.xz; \
-		gpgconf --kill all; \
-		rm -rf "$GNUPGHOME"; \
-	fi; \
-	\
-	apt-mark auto '.*' > /dev/null; \
-	apt-mark manual $savedAptMark > /dev/null; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
-
-COPY docker-php-source /usr/local/bin/
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		libargon2-dev \
-		libcurl4-openssl-dev \
-		libonig-dev \
-		libreadline-dev \
-		libsodium-dev \
-		libsqlite3-dev \
-		libssl-dev \
-		libxml2-dev \
-		zlib1g-dev \
-	; \
-	\
-	export \
-		CFLAGS="$PHP_CFLAGS" \
-		CPPFLAGS="$PHP_CPPFLAGS" \
-		LDFLAGS="$PHP_LDFLAGS" \
-	; \
-	docker-php-source extract; \
-	cd /usr/src/php; \
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
-	debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
-# https://bugs.php.net/bug.php?id=74125
-	if [ ! -d /usr/include/curl ]; then \
-		ln -sT "/usr/include/$debMultiarch/curl" /usr/local/include/curl; \
-	fi; \
-	./configure \
-		--build="$gnuArch" \
-		--with-config-file-path="$PHP_INI_DIR" \
-		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
-		\
-# make sure invalid --configure-flags are fatal errors instead of just warnings
-		--enable-option-checking=fatal \
-		\
-# https://github.com/docker-library/php/issues/439
-		--with-mhash \
-		\
-# https://github.com/docker-library/php/issues/822
-		--with-pic \
-		\
-# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (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)
-		--enable-mysqlnd \
-# https://wiki.php.net/rfc/argon2_password_hash
-		--with-password-argon2 \
-# https://wiki.php.net/rfc/libsodium
-		--with-sodium=shared \
-# always build against system sqlite3 (https://github.com/php/php-src/commit/6083a387a81dbbd66d6316a3a12a63f06d5f7109)
-		--with-pdo-sqlite=/usr \
-		--with-sqlite3=/usr \
-		\
-		--with-curl \
-		--with-iconv \
-		--with-openssl \
-		--with-readline \
-		--with-zlib \
-		\
-# https://github.com/bwoebi/phpdbg-docs/issues/1#issuecomment-163872806 ("phpdbg is primarily a CLI debugger, and is not suitable for debugging an fpm stack.")
-		--disable-phpdbg \
-		\
-# 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 s390x
-# https://manpages.debian.org/bullseye/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
-		$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
-		--with-libdir="lib/$debMultiarch" \
-		\
-		--disable-cgi \
-		\
-		--enable-fpm \
-		--with-fpm-user=www-data \
-		--with-fpm-group=www-data \
-	; \
-	make -j "$(nproc)"; \
-	find -type f -name '*.a' -delete; \
-	make install; \
-	find \
-		/usr/local \
-		-type f \
-		-perm '/0111' \
-		-exec sh -euxc ' \
-			strip --strip-all "$@" || : \
-		' -- '{}' + \
-	; \
-	make clean; \
-	\
-# https://github.com/docker-library/php/issues/692 (copy default example "php.ini" files somewhere easily discoverable)
-	cp -v php.ini-* "$PHP_INI_DIR/"; \
-	\
-	cd /; \
-	docker-php-source delete; \
-	\
-# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
-	apt-mark auto '.*' > /dev/null; \
-	[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
-	find /usr/local -type f -executable -exec ldd '{}' ';' \
-		| awk '/=>/ { print $(NF-1) }' \
-		| sort -u \
-		| xargs -r dpkg-query --search \
-		| cut -d: -f1 \
-		| sort -u \
-		| xargs -r apt-mark manual \
-	; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-# update pecl channel definitions https://github.com/docker-library/php/issues/443
-	pecl update-channels; \
-	rm -rf /tmp/pear ~/.pearrc; \
-	\
-# smoke test
-	php --version
-
-COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
-
-# sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598)
-RUN docker-php-ext-enable sodium
-
-ENTRYPOINT ["docker-php-entrypoint"]
-WORKDIR /var/www/html
-
-RUN set -eux; \
-	cd /usr/local/etc; \
-	if [ -d php-fpm.d ]; then \
-		# for some reason, upstream's php-fpm.conf.default has "include=NONE/etc/php-fpm.d/*.conf"
-		sed 's!=NONE/!=!g' php-fpm.conf.default | tee php-fpm.conf > /dev/null; \
-		cp php-fpm.d/www.conf.default php-fpm.d/www.conf; \
-	else \
-		# PHP 5.x doesn't use "include=" by default, so we'll create our own simple config that mimics PHP 7+ for consistency
-		mkdir php-fpm.d; \
-		cp php-fpm.conf.default php-fpm.d/www.conf; \
-		{ \
-			echo '[global]'; \
-			echo 'include=etc/php-fpm.d/*.conf'; \
-		} | tee php-fpm.conf; \
-	fi; \
-	{ \
-		echo '[global]'; \
-		echo 'error_log = /proc/self/fd/2'; \
-		echo; echo '; https://github.com/docker-library/php/pull/725#issuecomment-443540114'; echo 'log_limit = 8192'; \
-		echo; \
-		echo '[www]'; \
-		echo '; if we send this to /proc/self/fd/1, it never appears'; \
-		echo 'access.log = /proc/self/fd/2'; \
-		echo; \
-		echo 'clear_env = no'; \
-		echo; \
-		echo '; Ensure worker stdout and stderr are sent to the main error log.'; \
-		echo 'catch_workers_output = yes'; \
-		echo 'decorate_workers_output = no'; \
-	} | tee php-fpm.d/docker.conf; \
-	{ \
-		echo '[global]'; \
-		echo 'daemonize = no'; \
-		echo; \
-		echo '[www]'; \
-		echo 'listen = 9000'; \
-	} | tee php-fpm.d/zz-docker.conf
-
-# Override stop signal to stop process gracefully
-# https://github.com/php/php-src/blob/17baa87faddc2550def3ae7314236826bc1b1398/sapi/fpm/php-fpm.8.in#L163
-STOPSIGNAL SIGQUIT
-
-EXPOSE 9000
-CMD ["php-fpm"]
diff --git a/8.1-rc/buster/fpm/docker-php-entrypoint b/8.1-rc/buster/fpm/docker-php-entrypoint
deleted file mode 100755
index 86343d80..00000000
--- a/8.1-rc/buster/fpm/docker-php-entrypoint
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-# first arg is `-f` or `--some-option`
-if [ "${1#-}" != "$1" ]; then
-	set -- php-fpm "$@"
-fi
-
-exec "$@"
diff --git a/8.1-rc/buster/fpm/docker-php-ext-configure b/8.1-rc/buster/fpm/docker-php-ext-configure
deleted file mode 100755
index 34fc1337..00000000
--- a/8.1-rc/buster/fpm/docker-php-ext-configure
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 ext-name [configure flags]"
-	echo "   ie: $0 gd --with-jpeg-dir=/usr/local/something"
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-ext="$1"
-if [ -z "$ext" ] || [ ! -d "$ext" ]; then
-	usage >&2
-	exit 1
-fi
-shift
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS
-	fi
-fi
-
-if command -v dpkg-architecture > /dev/null; then
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"
-	set -- --build="$gnuArch" "$@"
-fi
-
-cd "$ext"
-phpize
-./configure --enable-option-checking=fatal "$@"
diff --git a/8.1-rc/buster/fpm/docker-php-ext-enable b/8.1-rc/buster/fpm/docker-php-ext-enable
deleted file mode 100755
index 41d20bbe..00000000
--- a/8.1-rc/buster/fpm/docker-php-ext-enable
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-set -e
-
-extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
-cd "$extDir"
-
-usage() {
-	echo "usage: $0 [options] module-name [module-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 --ini-name 0-apc.ini apcu apc"
-	echo
-	echo 'Possible values for module-name:'
-	find -maxdepth 1 \
-			-type f \
-			-name '*.so' \
-			-exec basename '{}' ';' \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-modules=
-for module; do
-	if [ -z "$module" ]; then
-		continue
-	fi
-	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
-		echo >&2 "error: '$module' does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	modules="$modules $module"
-done
-
-if [ -z "$modules" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
-		apkDel='.docker-php-ext-enable-deps'
-	fi
-fi
-
-for module in $modules; do
-	moduleFile="$module"
-	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
-		moduleFile="$module.so"
-	fi
-	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
-		# https://wiki.php.net/internals/extensions#loading_zend_extensions
-		line="zend_extension=$module"
-	else
-		line="extension=$module"
-	fi
-
-	ext="$(basename "$module")"
-	ext="${ext%.*}"
-	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
-		# this isn't perfect, but it's better than nothing
-		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
-		echo >&2
-		echo >&2 "warning: $ext ($module) is already loaded!"
-		echo >&2
-		continue
-	fi
-
-	case "$iniName" in
-		/*)
-			# allow an absolute path
-			ini="$iniName"
-			;;
-		*)
-			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
-			;;
-	esac
-	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
-		echo "$line" >> "$ini"
-	fi
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
diff --git a/8.1-rc/buster/fpm/docker-php-ext-install b/8.1-rc/buster/fpm/docker-php-ext-install
deleted file mode 100755
index aa0b96c5..00000000
--- a/8.1-rc/buster/fpm/docker-php-ext-install
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 [-jN] [--ini-name file.ini] ext-name [ext-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop"
-	echo
-	echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?j:' --long 'help,ini-name:,jobs:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-j=1
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--jobs|-j) j="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-exts=
-for ext; do
-	if [ -z "$ext" ]; then
-		continue
-	fi
-	if [ ! -d "$ext" ]; then
-		echo >&2 "error: $PWD/$ext does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	exts="$exts $ext"
-done
-
-if [ -z "$exts" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if [ -n "$PHPIZE_DEPS" ]; then
-		if apk info --installed .phpize-deps-configure > /dev/null; then
-			apkDel='.phpize-deps-configure'
-		elif ! apk info --installed .phpize-deps > /dev/null; then
-			apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
-			apkDel='.phpize-deps'
-		fi
-	fi
-fi
-
-popDir="$PWD"
-for ext in $exts; do
-	cd "$ext"
-
-	[ -e Makefile ] || docker-php-ext-configure "$ext"
-
-	make -j"$j"
-
-	if ! php -n -d 'display_errors=stderr' -r 'exit(ZEND_DEBUG_BUILD ? 0 : 1);' > /dev/null; then
-		# only "strip" modules if we aren't using a debug build of PHP
-		# (none of our builds are debug builds, but PHP might be recompiled with "--enable-debug" configure option)
-		# https://github.com/docker-library/php/issues/1268
-
-		find modules \
-			-maxdepth 1 \
-			-name '*.so' \
-			-exec sh -euxc ' \
-				strip --strip-all "$@" || :
-			' -- '{}' +
-	fi
-
-	make -j"$j" install
-
-	find modules \
-		-maxdepth 1 \
-		-name '*.so' \
-		-exec basename '{}' ';' \
-			| xargs -r docker-php-ext-enable ${iniName:+--ini-name "$iniName"}
-
-	make -j"$j" clean
-
-	cd "$popDir"
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
-
-if [ -e /usr/src/php/.docker-delete-me ]; then
-	docker-php-source delete
-fi
diff --git a/8.1-rc/buster/fpm/docker-php-source b/8.1-rc/buster/fpm/docker-php-source
deleted file mode 100755
index 9033d243..00000000
--- a/8.1-rc/buster/fpm/docker-php-source
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-dir=/usr/src/php
-
-usage() {
-	echo "usage: $0 COMMAND"
-	echo
-	echo "Manage php source tarball lifecycle."
-	echo
-	echo "Commands:"
-	echo "   extract  extract php source tarball into directory $dir if not already done."
-	echo "   delete   delete extracted php source located into $dir if not already done."
-	echo
-}
-
-case "$1" in
-	extract)
-		mkdir -p "$dir"
-		if [ ! -f "$dir/.docker-extracted" ]; then
-			tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1
-			touch "$dir/.docker-extracted"
-		fi
-		;;
-
-	delete)
-		rm -rf "$dir"
-		;;
-
-	*)
-		usage
-		exit 1
-		;;
-esac
diff --git a/8.1-rc/buster/zts/Dockerfile b/8.1-rc/buster/zts/Dockerfile
deleted file mode 100644
index 79ed54ec..00000000
--- a/8.1-rc/buster/zts/Dockerfile
+++ /dev/null
@@ -1,227 +0,0 @@
-#
-# NOTE: THIS DOCKERFILE IS GENERATED VIA "apply-templates.sh"
-#
-# PLEASE DO NOT EDIT IT DIRECTLY.
-#
-
-FROM debian:buster-slim
-
-# prevent Debian's PHP packages from being installed
-# https://github.com/docker-library/php/pull/542
-RUN set -eux; \
-	{ \
-		echo 'Package: php*'; \
-		echo 'Pin: release *'; \
-		echo 'Pin-Priority: -1'; \
-	} > /etc/apt/preferences.d/no-debian-php
-
-# dependencies required for running "phpize"
-# (see persistent deps below)
-ENV PHPIZE_DEPS \
-		autoconf \
-		dpkg-dev \
-		file \
-		g++ \
-		gcc \
-		libc-dev \
-		make \
-		pkg-config \
-		re2c
-
-# persistent / runtime deps
-RUN set -eux; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		$PHPIZE_DEPS \
-		ca-certificates \
-		curl \
-		xz-utils \
-	; \
-	rm -rf /var/lib/apt/lists/*
-
-ENV PHP_INI_DIR /usr/local/etc/php
-RUN set -eux; \
-	mkdir -p "$PHP_INI_DIR/conf.d"; \
-# allow running as an arbitrary user (https://github.com/docker-library/php/issues/743)
-	[ ! -d /var/www/html ]; \
-	mkdir -p /var/www/html; \
-	chown www-data:www-data /var/www/html; \
-	chmod 777 /var/www/html
-
-# Apply stack smash protection to functions using local buffers and alloca()
-# Make PHP's main executable position-independent (improves ASLR security mechanism, and has no performance impact on x86_64)
-# Enable optimization (-O2)
-# Enable linker optimization (this sorts the hash buckets to improve cache locality, and is non-default)
-# https://github.com/docker-library/php/issues/272
-# -D_LARGEFILE_SOURCE and -D_FILE_OFFSET_BITS=64 (https://www.php.net/manual/en/intro.filesystem.php)
-ENV PHP_CFLAGS="-fstack-protector-strong -fpic -fpie -O2 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
-ENV PHP_CPPFLAGS="$PHP_CFLAGS"
-ENV PHP_LDFLAGS="-Wl,-O1 -pie"
-
-ENV GPG_KEYS 528995BFEDFBA7191D46839EF9BA0ADA31CBD89E 39B641343D8C104B2B146DC3F9C39DC0B9698544 F1F692238FBC1666E5A5CCD4199F9DFEF6FFBAFD
-
-ENV PHP_VERSION 8.1.12RC1
-ENV PHP_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz" PHP_ASC_URL="https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc"
-ENV PHP_SHA256="7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371"
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends gnupg dirmngr; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-	mkdir -p /usr/src; \
-	cd /usr/src; \
-	\
-	curl -fsSL -o php.tar.xz "$PHP_URL"; \
-	\
-	if [ -n "$PHP_SHA256" ]; then \
-		echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c -; \
-	fi; \
-	\
-	if [ -n "$PHP_ASC_URL" ]; then \
-		curl -fsSL -o php.tar.xz.asc "$PHP_ASC_URL"; \
-		export GNUPGHOME="$(mktemp -d)"; \
-		for key in $GPG_KEYS; do \
-			gpg --batch --keyserver keyserver.ubuntu.com --recv-keys "$key"; \
-		done; \
-		gpg --batch --verify php.tar.xz.asc php.tar.xz; \
-		gpgconf --kill all; \
-		rm -rf "$GNUPGHOME"; \
-	fi; \
-	\
-	apt-mark auto '.*' > /dev/null; \
-	apt-mark manual $savedAptMark > /dev/null; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false
-
-COPY docker-php-source /usr/local/bin/
-
-RUN set -eux; \
-	\
-	savedAptMark="$(apt-mark showmanual)"; \
-	apt-get update; \
-	apt-get install -y --no-install-recommends \
-		libargon2-dev \
-		libcurl4-openssl-dev \
-		libonig-dev \
-		libreadline-dev \
-		libsodium-dev \
-		libsqlite3-dev \
-		libssl-dev \
-		libxml2-dev \
-		zlib1g-dev \
-	; \
-	\
-	export \
-		CFLAGS="$PHP_CFLAGS" \
-		CPPFLAGS="$PHP_CPPFLAGS" \
-		LDFLAGS="$PHP_LDFLAGS" \
-	; \
-	docker-php-source extract; \
-	cd /usr/src/php; \
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"; \
-	debMultiarch="$(dpkg-architecture --query DEB_BUILD_MULTIARCH)"; \
-# https://bugs.php.net/bug.php?id=74125
-	if [ ! -d /usr/include/curl ]; then \
-		ln -sT "/usr/include/$debMultiarch/curl" /usr/local/include/curl; \
-	fi; \
-	./configure \
-		--build="$gnuArch" \
-		--with-config-file-path="$PHP_INI_DIR" \
-		--with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \
-		\
-# make sure invalid --configure-flags are fatal errors instead of just warnings
-		--enable-option-checking=fatal \
-		\
-# https://github.com/docker-library/php/issues/439
-		--with-mhash \
-		\
-# https://github.com/docker-library/php/issues/822
-		--with-pic \
-		\
-# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (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)
-		--enable-mysqlnd \
-# https://wiki.php.net/rfc/argon2_password_hash
-		--with-password-argon2 \
-# https://wiki.php.net/rfc/libsodium
-		--with-sodium=shared \
-# always build against system sqlite3 (https://github.com/php/php-src/commit/6083a387a81dbbd66d6316a3a12a63f06d5f7109)
-		--with-pdo-sqlite=/usr \
-		--with-sqlite3=/usr \
-		\
-		--with-curl \
-		--with-iconv \
-		--with-openssl \
-		--with-readline \
-		--with-zlib \
-		\
-# https://github.com/bwoebi/phpdbg-docs/issues/1#issuecomment-163872806 ("phpdbg is primarily a CLI debugger, and is not suitable for debugging an fpm stack.")
-		--disable-phpdbg \
-		\
-# 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 s390x
-# https://manpages.debian.org/bullseye/libpcre3-dev/pcrejit.3.en.html#AVAILABILITY_OF_JIT_SUPPORT
-		$(test "$gnuArch" = 's390x-linux-gnu' && echo '--without-pcre-jit') \
-		--with-libdir="lib/$debMultiarch" \
-		\
-		--disable-cgi \
-		\
-# https://github.com/docker-library/php/pull/939#issuecomment-730501748
-		--enable-embed \
-		\
-		--enable-zts \
-	; \
-	make -j "$(nproc)"; \
-	find -type f -name '*.a' -delete; \
-	make install; \
-	find \
-		/usr/local \
-		-type f \
-		-perm '/0111' \
-		-exec sh -euxc ' \
-			strip --strip-all "$@" || : \
-		' -- '{}' + \
-	; \
-	make clean; \
-	\
-# https://github.com/docker-library/php/issues/692 (copy default example "php.ini" files somewhere easily discoverable)
-	cp -v php.ini-* "$PHP_INI_DIR/"; \
-	\
-	cd /; \
-	docker-php-source delete; \
-	\
-# reset apt-mark's "manual" list so that "purge --auto-remove" will remove all build dependencies
-	apt-mark auto '.*' > /dev/null; \
-	[ -z "$savedAptMark" ] || apt-mark manual $savedAptMark; \
-	find /usr/local -type f -executable -exec ldd '{}' ';' \
-		| awk '/=>/ { print $(NF-1) }' \
-		| sort -u \
-		| xargs -r dpkg-query --search \
-		| cut -d: -f1 \
-		| sort -u \
-		| xargs -r apt-mark manual \
-	; \
-	apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false; \
-	rm -rf /var/lib/apt/lists/*; \
-	\
-# update pecl channel definitions https://github.com/docker-library/php/issues/443
-	pecl update-channels; \
-	rm -rf /tmp/pear ~/.pearrc; \
-	\
-# smoke test
-	php --version
-
-COPY docker-php-ext-* docker-php-entrypoint /usr/local/bin/
-
-# sodium was built as a shared module (so that it can be replaced later if so desired), so let's enable it too (https://github.com/docker-library/php/issues/598)
-RUN docker-php-ext-enable sodium
-
-ENTRYPOINT ["docker-php-entrypoint"]
-CMD ["php", "-a"]
diff --git a/8.1-rc/buster/zts/docker-php-entrypoint b/8.1-rc/buster/zts/docker-php-entrypoint
deleted file mode 100755
index 88a016c1..00000000
--- a/8.1-rc/buster/zts/docker-php-entrypoint
+++ /dev/null
@@ -1,9 +0,0 @@
-#!/bin/sh
-set -e
-
-# first arg is `-f` or `--some-option`
-if [ "${1#-}" != "$1" ]; then
-	set -- php "$@"
-fi
-
-exec "$@"
diff --git a/8.1-rc/buster/zts/docker-php-ext-configure b/8.1-rc/buster/zts/docker-php-ext-configure
deleted file mode 100755
index 34fc1337..00000000
--- a/8.1-rc/buster/zts/docker-php-ext-configure
+++ /dev/null
@@ -1,69 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 ext-name [configure flags]"
-	echo "   ie: $0 gd --with-jpeg-dir=/usr/local/something"
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-ext="$1"
-if [ -z "$ext" ] || [ ! -d "$ext" ]; then
-	usage >&2
-	exit 1
-fi
-shift
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual .phpize-deps-configure $PHPIZE_DEPS
-	fi
-fi
-
-if command -v dpkg-architecture > /dev/null; then
-	gnuArch="$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)"
-	set -- --build="$gnuArch" "$@"
-fi
-
-cd "$ext"
-phpize
-./configure --enable-option-checking=fatal "$@"
diff --git a/8.1-rc/buster/zts/docker-php-ext-enable b/8.1-rc/buster/zts/docker-php-ext-enable
deleted file mode 100755
index 41d20bbe..00000000
--- a/8.1-rc/buster/zts/docker-php-ext-enable
+++ /dev/null
@@ -1,121 +0,0 @@
-#!/bin/sh
-set -e
-
-extDir="$(php -d 'display_errors=stderr' -r 'echo ini_get("extension_dir");')"
-cd "$extDir"
-
-usage() {
-	echo "usage: $0 [options] module-name [module-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 --ini-name 0-apc.ini apcu apc"
-	echo
-	echo 'Possible values for module-name:'
-	find -maxdepth 1 \
-			-type f \
-			-name '*.so' \
-			-exec basename '{}' ';' \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?' --long 'help,ini-name:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-modules=
-for module; do
-	if [ -z "$module" ]; then
-		continue
-	fi
-	if ! [ -f "$module" ] && ! [ -f "$module.so" ]; then
-		echo >&2 "error: '$module' does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	modules="$modules $module"
-done
-
-if [ -z "$modules" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if \
-		[ -n "$PHPIZE_DEPS" ] \
-		&& ! apk info --installed .phpize-deps > /dev/null \
-		&& ! apk info --installed .phpize-deps-configure > /dev/null \
-	; then
-		apk add --no-cache --virtual '.docker-php-ext-enable-deps' binutils
-		apkDel='.docker-php-ext-enable-deps'
-	fi
-fi
-
-for module in $modules; do
-	moduleFile="$module"
-	if [ -f "$module.so" ] && ! [ -f "$module" ]; then
-		moduleFile="$module.so"
-	fi
-	if readelf --wide --syms "$moduleFile" | grep -q ' zend_extension_entry$'; then
-		# https://wiki.php.net/internals/extensions#loading_zend_extensions
-		line="zend_extension=$module"
-	else
-		line="extension=$module"
-	fi
-
-	ext="$(basename "$module")"
-	ext="${ext%.*}"
-	if php -d 'display_errors=stderr' -r 'exit(extension_loaded("'"$ext"'") ? 0 : 1);'; then
-		# this isn't perfect, but it's better than nothing
-		# (for example, 'opcache.so' presents inside PHP as 'Zend OPcache', not 'opcache')
-		echo >&2
-		echo >&2 "warning: $ext ($module) is already loaded!"
-		echo >&2
-		continue
-	fi
-
-	case "$iniName" in
-		/*)
-			# allow an absolute path
-			ini="$iniName"
-			;;
-		*)
-			ini="$PHP_INI_DIR/conf.d/${iniName:-"docker-php-ext-$ext.ini"}"
-			;;
-	esac
-	if ! grep -qFx -e "$line" -e "$line.so" "$ini" 2>/dev/null; then
-		echo "$line" >> "$ini"
-	fi
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
diff --git a/8.1-rc/buster/zts/docker-php-ext-install b/8.1-rc/buster/zts/docker-php-ext-install
deleted file mode 100755
index aa0b96c5..00000000
--- a/8.1-rc/buster/zts/docker-php-ext-install
+++ /dev/null
@@ -1,143 +0,0 @@
-#!/bin/sh
-set -e
-
-# prefer user supplied CFLAGS, but default to our PHP_CFLAGS
-: ${CFLAGS:=$PHP_CFLAGS}
-: ${CPPFLAGS:=$PHP_CPPFLAGS}
-: ${LDFLAGS:=$PHP_LDFLAGS}
-export CFLAGS CPPFLAGS LDFLAGS
-
-srcExists=
-if [ -d /usr/src/php ]; then
-	srcExists=1
-fi
-docker-php-source extract
-if [ -z "$srcExists" ]; then
-	touch /usr/src/php/.docker-delete-me
-fi
-
-cd /usr/src/php/ext
-
-usage() {
-	echo "usage: $0 [-jN] [--ini-name file.ini] ext-name [ext-name ...]"
-	echo "   ie: $0 gd mysqli"
-	echo "       $0 pdo pdo_mysql"
-	echo "       $0 -j5 gd mbstring mysqli pdo pdo_mysql shmop"
-	echo
-	echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
-	echo
-	echo 'Possible values for ext-name:'
-	find . \
-			-mindepth 2 \
-			-maxdepth 2 \
-			-type f \
-			-name 'config.m4' \
-		| xargs -n1 dirname \
-		| xargs -n1 basename \
-		| sort \
-		| xargs
-	echo
-	echo 'Some of the above modules are already compiled into PHP; please check'
-	echo 'the output of "php -i" to see which modules are already loaded.'
-}
-
-opts="$(getopt -o 'h?j:' --long 'help,ini-name:,jobs:' -- "$@" || { usage >&2 && false; })"
-eval set -- "$opts"
-
-j=1
-iniName=
-while true; do
-	flag="$1"
-	shift
-	case "$flag" in
-		--help|-h|'-?') usage && exit 0 ;;
-		--ini-name) iniName="$1" && shift ;;
-		--jobs|-j) j="$1" && shift ;;
-		--) break ;;
-		*)
-			{
-				echo "error: unknown flag: $flag"
-				usage
-			} >&2
-			exit 1
-			;;
-	esac
-done
-
-exts=
-for ext; do
-	if [ -z "$ext" ]; then
-		continue
-	fi
-	if [ ! -d "$ext" ]; then
-		echo >&2 "error: $PWD/$ext does not exist"
-		echo >&2
-		usage >&2
-		exit 1
-	fi
-	exts="$exts $ext"
-done
-
-if [ -z "$exts" ]; then
-	usage >&2
-	exit 1
-fi
-
-pm='unknown'
-if [ -e /lib/apk/db/installed ]; then
-	pm='apk'
-fi
-
-apkDel=
-if [ "$pm" = 'apk' ]; then
-	if [ -n "$PHPIZE_DEPS" ]; then
-		if apk info --installed .phpize-deps-configure > /dev/null; then
-			apkDel='.phpize-deps-configure'
-		elif ! apk info --installed .phpize-deps > /dev/null; then
-			apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS
-			apkDel='.phpize-deps'
-		fi
-	fi
-fi
-
-popDir="$PWD"
-for ext in $exts; do
-	cd "$ext"
-
-	[ -e Makefile ] || docker-php-ext-configure "$ext"
-
-	make -j"$j"
-
-	if ! php -n -d 'display_errors=stderr' -r 'exit(ZEND_DEBUG_BUILD ? 0 : 1);' > /dev/null; then
-		# only "strip" modules if we aren't using a debug build of PHP
-		# (none of our builds are debug builds, but PHP might be recompiled with "--enable-debug" configure option)
-		# https://github.com/docker-library/php/issues/1268
-
-		find modules \
-			-maxdepth 1 \
-			-name '*.so' \
-			-exec sh -euxc ' \
-				strip --strip-all "$@" || :
-			' -- '{}' +
-	fi
-
-	make -j"$j" install
-
-	find modules \
-		-maxdepth 1 \
-		-name '*.so' \
-		-exec basename '{}' ';' \
-			| xargs -r docker-php-ext-enable ${iniName:+--ini-name "$iniName"}
-
-	make -j"$j" clean
-
-	cd "$popDir"
-done
-
-if [ "$pm" = 'apk' ] && [ -n "$apkDel" ]; then
-	apk del --no-network $apkDel
-fi
-
-if [ -e /usr/src/php/.docker-delete-me ]; then
-	docker-php-source delete
-fi
diff --git a/8.1-rc/buster/zts/docker-php-source b/8.1-rc/buster/zts/docker-php-source
deleted file mode 100755
index 9033d243..00000000
--- a/8.1-rc/buster/zts/docker-php-source
+++ /dev/null
@@ -1,34 +0,0 @@
-#!/bin/sh
-set -e
-
-dir=/usr/src/php
-
-usage() {
-	echo "usage: $0 COMMAND"
-	echo
-	echo "Manage php source tarball lifecycle."
-	echo
-	echo "Commands:"
-	echo "   extract  extract php source tarball into directory $dir if not already done."
-	echo "   delete   delete extracted php source located into $dir if not already done."
-	echo
-}
-
-case "$1" in
-	extract)
-		mkdir -p "$dir"
-		if [ ! -f "$dir/.docker-extracted" ]; then
-			tar -Jxf /usr/src/php.tar.xz -C "$dir" --strip-components=1
-			touch "$dir/.docker-extracted"
-		fi
-		;;
-
-	delete)
-		rm -rf "$dir"
-		;;
-
-	*)
-		usage
-		exit 1
-		;;
-esac
diff --git a/versions.json b/versions.json
index fd2b8d66..39bafc20 100644
--- a/versions.json
+++ b/versions.json
@@ -67,28 +67,7 @@
     ],
     "version": "8.1.12"
   },
-  "8.1-rc": {
-    "ascUrl": "https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz.asc",
-    "sha256": "7e3b65b80a07f18f83b783cb7bce770b86a586ecd78c496b8d014e38567f6371",
-    "url": "https://downloads.php.net/~ramsey/php-8.1.12RC1.tar.xz",
-    "variants": [
-      "bullseye/cli",
-      "bullseye/apache",
-      "bullseye/fpm",
-      "bullseye/zts",
-      "buster/cli",
-      "buster/apache",
-      "buster/fpm",
-      "buster/zts",
-      "alpine3.16/cli",
-      "alpine3.16/fpm",
-      "alpine3.16/zts",
-      "alpine3.15/cli",
-      "alpine3.15/fpm",
-      "alpine3.15/zts"
-    ],
-    "version": "8.1.12RC1"
-  },
+  "8.1-rc": null,
   "8.2-rc": {
     "ascUrl": "https://downloads.php.net/~pierrick/php-8.2.0RC5.tar.xz.asc",
     "sha256": "5dbd72106664b3588a047da557b6a99a3cdfcb83de9890cc3be9db5af8e4aa0e",