From 56a2c0f48c00d370410fa003a65c977d216b72ae Mon Sep 17 00:00:00 2001 From: The Oh Brothers Bot Date: Fri, 22 Nov 2024 01:21:15 +0000 Subject: [PATCH] Enhancement: Bump php 8.2 variants to 8.2.26 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.2.26-fpm-alpine/Dockerfile | 6 ++ 6 files changed, 193 insertions(+), 55 deletions(-) create mode 100644 variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug/Dockerfile create mode 100644 variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets/Dockerfile create mode 100644 variants/8.2.26-fpm-alpine/Dockerfile diff --git a/.github/workflows/ci-master-pr.yml b/.github/workflows/ci-master-pr.yml index 9290951..8c1b880 100644 --- a/.github/workflows/ci-master-pr.yml +++ b/.github/workflows/ci-master-pr.yml @@ -287,7 +287,7 @@ jobs: rm -rf /tmp/.buildx-cache mv /tmp/.buildx-cache-new /tmp/.buildx-cache - build-8-2-25: + build-8-2-26: runs-on: ubuntu-latest steps: - name: Checkout @@ -318,9 +318,9 @@ jobs: uses: actions/cache@v4 with: path: /tmp/.buildx-cache - key: ${{ runner.os }}-buildx-8.2.25-${{ github.sha }} + key: ${{ runner.os }}-buildx-8.2.26-${{ github.sha }} restore-keys: | - ${{ runner.os }}-buildx-8.2.25- + ${{ runner.os }}-buildx-8.2.26- ${{ runner.os }}-buildx- - name: Login to Docker Hub registry @@ -333,7 +333,7 @@ jobs: # This step generates the docker tags - name: Prepare - id: prep-8-2-25-fpm-alpine + id: prep-8-2-26-fpm-alpine run: | set -e @@ -346,7 +346,7 @@ jobs: # Generate docker image tags # E.g. 'v0.0.0-' and 'v0.0.0-abc0123-' # E.g. 'master-' and 'master-abc0123-' - VARIANT="8.2.25-fpm-alpine" + VARIANT="8.2.26-fpm-alpine" REF_VARIANT="${REF}-${VARIANT}" REF_SHA_VARIANT="${REF}-${SHA}-${VARIANT}" @@ -356,51 +356,51 @@ jobs: echo "REF_VARIANT=$REF_VARIANT" >> $GITHUB_OUTPUT echo "REF_SHA_VARIANT=$REF_SHA_VARIANT" >> $GITHUB_OUTPUT - - name: 8.2.25-fpm-alpine - Build (PRs) + - name: 8.2.26-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.2.25-fpm-alpine + context: variants/8.2.26-fpm-alpine platforms: push: false tags: | - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-fpm-alpine.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-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.2.25-fpm-alpine - Build and push (master) + - name: 8.2.26-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.2.25-fpm-alpine + context: variants/8.2.26-fpm-alpine platforms: push: true tags: | - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-fpm-alpine.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-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.2.25-fpm-alpine - Build and push (release) + - name: 8.2.26-fpm-alpine - Build and push (release) if: startsWith(github.ref, 'refs/tags/') uses: docker/build-push-action@v5 with: - context: variants/8.2.25-fpm-alpine + context: variants/8.2.26-fpm-alpine platforms: push: true tags: | - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine.outputs.VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-fpm-alpine.outputs.VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-fpm-alpine.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-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 # This step generates the docker tags - name: Prepare - id: prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets + id: prep-8-2-26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets run: | set -e @@ -413,7 +413,7 @@ jobs: # Generate docker image tags # E.g. 'v0.0.0-' and 'v0.0.0-abc0123-' # E.g. 'master-' and 'master-abc0123-' - VARIANT="8.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets" + VARIANT="8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets" REF_VARIANT="${REF}-${VARIANT}" REF_SHA_VARIANT="${REF}-${SHA}-${VARIANT}" @@ -423,51 +423,51 @@ jobs: echo "REF_VARIANT=$REF_VARIANT" >> $GITHUB_OUTPUT echo "REF_SHA_VARIANT=$REF_SHA_VARIANT" >> $GITHUB_OUTPUT - - name: 8.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets - Build (PRs) + - name: 8.2.26-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.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets + context: variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets platforms: push: false tags: | - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-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.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets - Build and push (master) + - name: 8.2.26-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.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets + context: variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets platforms: push: true tags: | - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-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.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets - Build and push (release) + - name: 8.2.26-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.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets + context: variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets platforms: push: true tags: | - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-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-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug + id: prep-8-2-26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug run: | set -e @@ -480,7 +480,7 @@ jobs: # Generate docker image tags # E.g. 'v0.0.0-' and 'v0.0.0-abc0123-' # E.g. 'master-' and 'master-abc0123-' - VARIANT="8.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug" + VARIANT="8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug" REF_VARIANT="${REF}-${VARIANT}" REF_SHA_VARIANT="${REF}-${SHA}-${VARIANT}" @@ -490,45 +490,45 @@ jobs: echo "REF_VARIANT=$REF_VARIANT" >> $GITHUB_OUTPUT echo "REF_SHA_VARIANT=$REF_SHA_VARIANT" >> $GITHUB_OUTPUT - - name: 8.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug - Build (PRs) + - name: 8.2.26-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.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug + context: variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug platforms: push: false tags: | - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-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.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug - Build and push (master) + - name: 8.2.26-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.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug + context: variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug platforms: push: true tags: | - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-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.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug - Build and push (release) + - name: 8.2.26-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.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug + context: variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug platforms: push: true tags: | - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }} - ${{ github.repository }}:${{ steps.prep-8-2-25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_SHA_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug.outputs.REF_VARIANT }} + ${{ github.repository }}:${{ steps.prep-8-2-26-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 @@ -1808,7 +1808,7 @@ jobs: update-draft-release: needs: - build-8-3-14 - - build-8-2-25 + - build-8-2-26 - build-8-1-30 - build-8-0-30 - build-7-4-33 @@ -1828,7 +1828,7 @@ jobs: publish-draft-release: needs: - build-8-3-14 - - build-8-2-25 + - build-8-2-26 - build-8-1-30 - build-8-0-30 - build-7-4-33 @@ -1850,7 +1850,7 @@ jobs: update-dockerhub-description: needs: - build-8-3-14 - - build-8-2-25 + - build-8-2-26 - build-8-1-30 - build-8-0-30 - build-7-4-33 diff --git a/README.md b/README.md index 12ee8a7..848a4cf 100644 --- a/README.md +++ b/README.md @@ -13,9 +13,9 @@ Dockerized php with php extension(s), based on [official php images](https://hub | `:8.3.14-fpm-alpine`, `:latest` | [View](variants/8.3.14-fpm-alpine) | | `:8.3.14-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets` | [View](variants/8.3.14-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets) | | `:8.3.14-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug` | [View](variants/8.3.14-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug) | -| `:8.2.25-fpm-alpine` | [View](variants/8.2.25-fpm-alpine) | -| `:8.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets` | [View](variants/8.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets) | -| `:8.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug` | [View](variants/8.2.25-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug) | +| `:8.2.26-fpm-alpine` | [View](variants/8.2.26-fpm-alpine) | +| `:8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets` | [View](variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets) | +| `:8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug` | [View](variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug) | | `:8.1.30-fpm-alpine` | [View](variants/8.1.30-fpm-alpine) | | `:8.1.30-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets` | [View](variants/8.1.30-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets) | | `:8.1.30-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug` | [View](variants/8.1.30-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug) | diff --git a/generate/definitions/versions.json b/generate/definitions/versions.json index d45662e..75186b3 100644 --- a/generate/definitions/versions.json +++ b/generate/definitions/versions.json @@ -2,7 +2,7 @@ "php": { "versions": [ "8.3.14", - "8.2.25", + "8.2.26", "8.1.30", "8.0.30", "7.4.33", diff --git a/variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug/Dockerfile b/variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug/Dockerfile new file mode 100644 index 0000000..c26f017 --- /dev/null +++ b/variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets-xdebug/Dockerfile @@ -0,0 +1,76 @@ +FROM php:8.2.26-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.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets/Dockerfile b/variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets/Dockerfile new file mode 100644 index 0000000..227e100 --- /dev/null +++ b/variants/8.2.26-fpm-alpine-opcache-mysqli-gd-pdo-memcached-sockets/Dockerfile @@ -0,0 +1,56 @@ +FROM php:8.2.26-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.2.26-fpm-alpine/Dockerfile b/variants/8.2.26-fpm-alpine/Dockerfile new file mode 100644 index 0000000..ccc431a --- /dev/null +++ b/variants/8.2.26-fpm-alpine/Dockerfile @@ -0,0 +1,6 @@ +FROM php:8.2.26-fpm-alpine + +RUN set -eux; \ + echo; \ + php -i; \ + php -m