From 3989afef44bf9eec3f2523e02afdb0d84a22e6ce Mon Sep 17 00:00:00 2001 From: The Oh Brothers Bot Date: Fri, 2 Aug 2024 01:01:44 +0000 Subject: [PATCH] Enhancement: Bump php 8.3 variants to 8.3.10 Signed-off-by: The Oh Brothers Bot --- .github/workflows/ci-master-pr.yml | 102 +++++++++--------- README.md | 6 +- generate/definitions/versions.json | 2 +- .../Dockerfile | 76 +++++++++++++ .../Dockerfile | 56 ++++++++++ variants/8.3.10-fpm-alpine/Dockerfile | 6 ++ 6 files changed, 193 insertions(+), 55 deletions(-) create mode 100644 variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug/Dockerfile create mode 100644 variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets/Dockerfile create mode 100644 variants/8.3.10-fpm-alpine/Dockerfile diff --git a/.github/workflows/ci-master-pr.yml b/.github/workflows/ci-master-pr.yml index dab4858..7dce6f5 100644 --- a/.github/workflows/ci-master-pr.yml +++ b/.github/workflows/ci-master-pr.yml @@ -33,7 +33,7 @@ jobs: run: | git diff --exit-code - build-8-3-9: + build-8-3-10: runs-on: ubuntu-latest steps: - name: Checkout @@ -64,9 +64,9 @@ jobs: uses: actions/cache@v4 with: path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-8.3.9-${{ github.sha }} + key: ${{ runner.os }}-buildx-8.3.10-${{ github.sha }} restore-keys: | - ${{ runner.os }}-buildx-8.3.9- + ${{ runner.os }}-buildx-8.3.10- ${{ runner.os }}-buildx- - name: Login to Docker Hub registry @@ -79,7 +79,7 @@ jobs: # This step generates the docker tags - name: Prepare - id: prep-8-3-9-fpm-alpine + id: prep-8-3-10-fpm-alpine run: | set -e @@ -92,7 +92,7 @@ jobs: # Generate docker image tags # E.g. 'v0.0.0-' and 'v0.0.0-abc0123-' # E.g. 'master-' and 'master-abc0123-' - VARIANT="8.3.9-fpm-alpine" + VARIANT="8.3.10-fpm-alpine" REF_VARIANT="${REF}-${VARIANT}" REF_SHA_VARIANT="${REF}-${SHA}-${VARIANT}" @@ -102,52 +102,52 @@ jobs: echo "REF_VARIANT=$REF_VARIANT" >> $GITHUB_OUTPUT echo "REF_SHA_VARIANT=$REF_SHA_VARIANT" >> $GITHUB_OUTPUT - - name: 8.3.9-fpm-alpine - Build (PRs) + - name: 8.3.10-fpm-alpine - Build (PRs) # Run only on pull requests if: github.event_name == 'pull_request' uses: docker/build-push-action@v5 with: - context: variants/8.3.9-fpm-alpine + context: variants/8.3.10-fpm-alpine platforms: push: false tags: | - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine.outputs.REF_SHA_VARIANT }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - name: 8.3.9-fpm-alpine - Build and push (master) + - name: 8.3.10-fpm-alpine - Build and push (master) # Run only on master if: github.ref == 'refs/heads/master' uses: docker/build-push-action@v5 with: - context: variants/8.3.9-fpm-alpine + context: variants/8.3.10-fpm-alpine platforms: push: true tags: | - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine.outputs.REF_SHA_VARIANT }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - name: 8.3.9-fpm-alpine - Build and push (release) + - name: 8.3.10-fpm-alpine - Build and push (release) if: startsWith(github.ref, 'refs/tags/') uses: docker/build-push-action@v5 with: - context: variants/8.3.9-fpm-alpine + context: variants/8.3.10-fpm-alpine platforms: push: true tags: | - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine.outputs.VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine.outputs.VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine.outputs.REF_SHA_VARIANT }} ${{ github.repository }}:latest cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max # This step generates the docker tags - name: Prepare - id: prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets + id: prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets run: | set -e @@ -160,7 +160,7 @@ jobs: # Generate docker image tags # E.g. 'v0.0.0-' and 'v0.0.0-abc0123-' # E.g. 'master-' and 'master-abc0123-' - VARIANT="8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets" + VARIANT="8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets" REF_VARIANT="${REF}-${VARIANT}" REF_SHA_VARIANT="${REF}-${SHA}-${VARIANT}" @@ -170,51 +170,51 @@ jobs: echo "REF_VARIANT=$REF_VARIANT" >> $GITHUB_OUTPUT echo "REF_SHA_VARIANT=$REF_SHA_VARIANT" >> $GITHUB_OUTPUT - - name: 8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets - Build (PRs) + - name: 8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets - Build (PRs) # Run only on pull requests if: github.event_name == 'pull_request' uses: docker/build-push-action@v5 with: - context: variants/8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets + context: variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets platforms: push: false tags: | - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_SHA_VARIANT }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - name: 8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets - Build and push (master) + - name: 8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets - Build and push (master) # Run only on master if: github.ref == 'refs/heads/master' uses: docker/build-push-action@v5 with: - context: variants/8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets + context: variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets platforms: push: true tags: | - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_SHA_VARIANT }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - name: 8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets - Build and push (release) + - name: 8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets - Build and push (release) if: startsWith(github.ref, 'refs/tags/') uses: docker/build-push-action@v5 with: - context: variants/8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets + context: variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets platforms: push: true tags: | - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_SHA_VARIANT }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max # This step generates the docker tags - name: Prepare - id: prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug + id: prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug run: | set -e @@ -227,7 +227,7 @@ jobs: # Generate docker image tags # E.g. 'v0.0.0-' and 'v0.0.0-abc0123-' # E.g. 'master-' and 'master-abc0123-' - VARIANT="8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug" + VARIANT="8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug" REF_VARIANT="${REF}-${VARIANT}" REF_SHA_VARIANT="${REF}-${SHA}-${VARIANT}" @@ -237,45 +237,45 @@ jobs: echo "REF_VARIANT=$REF_VARIANT" >> $GITHUB_OUTPUT echo "REF_SHA_VARIANT=$REF_SHA_VARIANT" >> $GITHUB_OUTPUT - - name: 8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug - Build (PRs) + - name: 8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug - Build (PRs) # Run only on pull requests if: github.event_name == 'pull_request' uses: docker/build-push-action@v5 with: - context: variants/8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug + context: variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug platforms: push: false tags: | - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_SHA_VARIANT }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - name: 8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug - Build and push (master) + - name: 8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug - Build and push (master) # Run only on master if: github.ref == 'refs/heads/master' uses: docker/build-push-action@v5 with: - context: variants/8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug + context: variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug platforms: push: true tags: | - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_SHA_VARIANT }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max - - name: 8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug - Build and push (release) + - name: 8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug - Build and push (release) if: startsWith(github.ref, 'refs/tags/') uses: docker/build-push-action@v5 with: - context: variants/8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug + context: variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug platforms: push: true tags: | - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-3-9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-3-10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_SHA_VARIANT }} cache-from: type=local,src=/tmp/.buildx-cache cache-to: type=local,dest=/tmp/.buildx-cache-new,mode=max @@ -1807,7 +1807,7 @@ jobs: update-draft-release: needs: - - build-8-3-9 + - build-8-3-10 - build-8-2-21 - build-8-1-29 - build-8-0-30 @@ -1827,7 +1827,7 @@ jobs: publish-draft-release: needs: - - build-8-3-9 + - build-8-3-10 - build-8-2-21 - build-8-1-29 - build-8-0-30 @@ -1849,7 +1849,7 @@ jobs: update-dockerhub-description: needs: - - build-8-3-9 + - build-8-3-10 - build-8-2-21 - build-8-1-29 - build-8-0-30 diff --git a/README.md b/README.md index 36ba064..63c23bf 100644 --- a/README.md +++ b/README.md @@ -10,9 +10,9 @@ Dockerized php with php extension(s), based on [official php images](https://hub | Tag | Dockerfile Build Context | |:-------:|:---------:| -| `:8.3.9-fpm-alpine`, `:latest` | [View](variants/8.3.9-fpm-alpine) | -| `:8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets` | [View](variants/8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets) | -| `:8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug` | [View](variants/8.3.9-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug) | +| `:8.3.10-fpm-alpine`, `:latest` | [View](variants/8.3.10-fpm-alpine) | +| `:8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets` | [View](variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets) | +| `:8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug` | [View](variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug) | | `:8.2.21-fpm-alpine` | [View](variants/8.2.21-fpm-alpine) | | `:8.2.21-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets` | [View](variants/8.2.21-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets) | | `:8.2.21-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug` | [View](variants/8.2.21-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug) | diff --git a/generate/definitions/versions.json b/generate/definitions/versions.json index 2ea3953..3f50a32 100644 --- a/generate/definitions/versions.json +++ b/generate/definitions/versions.json @@ -1,7 +1,7 @@ { "php": { "versions": [ - "8.3.9", + "8.3.10", "8.2.21", "8.1.29", "8.0.30", diff --git a/variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug/Dockerfile b/variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug/Dockerfile new file mode 100644 index 0000000..3729f65 --- /dev/null +++ b/variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug/Dockerfile @@ -0,0 +1,76 @@ +FROM php:8.3.10-fpm-alpine + +# opcache +RUN set -eux; \ + docker-php-ext-install opcache + +# mysqli (deprecated) +RUN set -eux; \ + docker-php-ext-install mysqli + +# gd +RUN set -eux; \ + apk add --no-cache freetype libjpeg-turbo libpng; \ + apk add --no-cache --virtual .deps freetype-dev libjpeg-turbo-dev libpng-dev; \ + docker-php-ext-configure gd \ + --with-freetype=/usr/include/ \ + --with-jpeg=/usr/include/; \ + docker-php-ext-install gd; \ + docker-php-source delete; \ + apk del .deps + +# PDO: mysql driver +RUN set -eux; \ + docker-php-ext-install pdo pdo_mysql + +# PDO: pgsql driver +# See: https://github.com/docker-library/php/issues/221 +RUN set -eux; \ + apk add --no-cache postgresql-libs; \ + apk add --no-cache --virtual .deps postgresql-dev; \ + docker-php-ext-install pdo_pgsql; \ + apk del .deps + +# memcached +# See: https://stackoverflow.com/questions/40894385/how-can-i-install-the-php-memcached-extension-on-dockers-php7-alpine-image +RUN set -eux; \ + apk add --no-cache libmemcached-libs zlib; \ + apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS; \ + apk add --no-cache --virtual .deps zlib-dev libmemcached-dev cyrus-sasl-dev; \ + pecl install memcached; \ + echo "extension=memcached.so" > /usr/local/etc/php/conf.d/20_memcached.ini; \ + docker-php-source delete; \ + apk del .deps; \ + apk del .phpize-deps; + +# Sockets +# See: https://github.com/docker-library/php/issues/181#issuecomment-173365852 +RUN set -eux; \ + apk add --no-cache --virtual .deps linux-headers; \ + docker-php-ext-install sockets; \ + apk del .deps + +# Xdebug: https://stackoverflow.com/questions/46825502/how-do-i-install-xdebug-on-dockers-official-php-fpm-alpine-image +# PHPIZE_DEPS: autoconf dpkg-dev dpkg file g++ gcc libc-dev make pkgconf re2c +RUN set -eux; \ + apk add --no-cache --virtual .build-dependencies $PHPIZE_DEPS; \ + apk add --no-cache --virtual .deps linux-headers; \ + pecl install xdebug-3.3.1; \ + docker-php-ext-enable xdebug; \ + docker-php-source delete; \ + apk del .deps; \ + apk del .build-dependencies +RUN set -eux; \ + { \ + echo "[xdebug]"; \ + echo "zend_extension=xdebug"; \ + echo "xdebug.mode=debug"; \ + echo "xdebug.start_with_request=yes"; \ + echo "xdebug.client_host=host.docker.internal"; \ + echo "xdebug.client_port=9000"; \ + } > /usr/local/etc/php/conf.d/docker-php-ext-xdebug.ini; + +RUN set -eux; \ + echo; \ + php -i; \ + php -m diff --git a/variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets/Dockerfile b/variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets/Dockerfile new file mode 100644 index 0000000..3fe1892 --- /dev/null +++ b/variants/8.3.10-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets/Dockerfile @@ -0,0 +1,56 @@ +FROM php:8.3.10-fpm-alpine + +# opcache +RUN set -eux; \ + docker-php-ext-install opcache + +# mysqli (deprecated) +RUN set -eux; \ + docker-php-ext-install mysqli + +# gd +RUN set -eux; \ + apk add --no-cache freetype libjpeg-turbo libpng; \ + apk add --no-cache --virtual .deps freetype-dev libjpeg-turbo-dev libpng-dev; \ + docker-php-ext-configure gd \ + --with-freetype=/usr/include/ \ + --with-jpeg=/usr/include/; \ + docker-php-ext-install gd; \ + docker-php-source delete; \ + apk del .deps + +# PDO: mysql driver +RUN set -eux; \ + docker-php-ext-install pdo pdo_mysql + +# PDO: pgsql driver +# See: https://github.com/docker-library/php/issues/221 +RUN set -eux; \ + apk add --no-cache postgresql-libs; \ + apk add --no-cache --virtual .deps postgresql-dev; \ + docker-php-ext-install pdo_pgsql; \ + apk del .deps + +# memcached +# See: https://stackoverflow.com/questions/40894385/how-can-i-install-the-php-memcached-extension-on-dockers-php7-alpine-image +RUN set -eux; \ + apk add --no-cache libmemcached-libs zlib; \ + apk add --no-cache --virtual .phpize-deps $PHPIZE_DEPS; \ + apk add --no-cache --virtual .deps zlib-dev libmemcached-dev cyrus-sasl-dev; \ + pecl install memcached; \ + echo "extension=memcached.so" > /usr/local/etc/php/conf.d/20_memcached.ini; \ + docker-php-source delete; \ + apk del .deps; \ + apk del .phpize-deps; + +# Sockets +# See: https://github.com/docker-library/php/issues/181#issuecomment-173365852 +RUN set -eux; \ + apk add --no-cache --virtual .deps linux-headers; \ + docker-php-ext-install sockets; \ + apk del .deps + +RUN set -eux; \ + echo; \ + php -i; \ + php -m diff --git a/variants/8.3.10-fpm-alpine/Dockerfile b/variants/8.3.10-fpm-alpine/Dockerfile new file mode 100644 index 0000000..4dd98c7 --- /dev/null +++ b/variants/8.3.10-fpm-alpine/Dockerfile @@ -0,0 +1,6 @@ +FROM php:8.3.10-fpm-alpine + +RUN set -eux; \ + echo; \ + php -i; \ + php -m