diff --git a/.github/workflows/build_php.yml b/.github/workflows/build_php.yml index b737bd6..7a5dc12 100644 --- a/.github/workflows/build_php.yml +++ b/.github/workflows/build_php.yml @@ -13,9 +13,9 @@ jobs: fail-fast: false matrix: php-version: - - "7.4" - "8.0" - "8.1" + - "8.2" php-target: - "cli" - "fpm" diff --git a/.github/workflows/build_push_php.yml b/.github/workflows/build_push_php.yml index 8531cb5..1f2f2e4 100644 --- a/.github/workflows/build_push_php.yml +++ b/.github/workflows/build_push_php.yml @@ -17,9 +17,9 @@ jobs: fail-fast: false matrix: php-version: - - "7.4" - "8.0" - "8.1" + - "8.2" php-target: - "cli" - "fpm" diff --git a/php/README.md b/php/README.md index 5c13c42..2bbbee8 100644 --- a/php/README.md +++ b/php/README.md @@ -26,21 +26,21 @@ Extends the official PHP image with the following PHP extensions: See [prooph/proophessor-do app](https://github.com/prooph/proophessor-do) for an example. -> Each image has tags for 7.4, 8.0 and 8.1 +> Each image has tags for 7.4, 8.0, 8.1 and 8.2 There are also PHP ZTS versions. ## cli -Use the following image: `prooph/php:8.0-cli`. +Use the following image: `prooph/php:8.2-cli`. ## cli with Opcache -Use the following image: `prooph/php:8.0-cli-opcache`. +Use the following image: `prooph/php:8.2-cli-opcache`. The [PHP Opcache](http://php.net/manual/en/book.opcache.php) is not useful for development, so it's not part of the default PHP-FPM image. Use this image if you want to have Opcache enabled. ## cli with Xdebug -Use the following image: `prooph/php:8.0-cli-xdebug`. +Use the following image: `prooph/php:8.2-cli-xdebug`. [Xdebug](http://xdebug.org/) is a PHP debugger. @@ -50,37 +50,37 @@ path mapping in your IDE with the name *application* ! Run the following command with the path to your php file. ```bash -$ docker run --rm -it --volume $(pwd):/app -e PHP_IDE_CONFIG="serverName=application" prooph/php:8.0-cli-xdebug php [your file] +$ docker run --rm -it --volume $(pwd):/app -e PHP_IDE_CONFIG="serverName=application" prooph/php:8.2-cli-xdebug php [your file] ``` Mac users doesn't have `docker0` network. According to [networking features](https://docs.docker.com/docker-for-mac/networking/#known-limitations-use-cases-and-workarounds) they should change hostname. ```bash -$ docker run --rm -it --volume $(pwd):/app -e PHP_IDE_CONFIG="serverName=application" -e XDEBUG_HOST="docker.for.mac.localhost" prooph/php:8.0-cli-xdebug php [your file] +$ docker run --rm -it --volume $(pwd):/app -e PHP_IDE_CONFIG="serverName=application" -e XDEBUG_HOST="docker.for.mac.localhost" prooph/php:8.2-cli-xdebug php [your file] ``` ## cli with SensioLabs Blackfire -Use the following image: `prooph/php:8.0-cli-blackfire`. +Use the following image: `prooph/php:8.2-cli-blackfire`. [Blackfire](https://blackfire.io) is a PHP Profiler. No linking with Blackfire-Agent required. Run the following command with your [Blackfire](https://blackfire.io/docs/reference-guide/configuration) credentials to profile you cli PHP apps. ```bash -$ docker run --rm -it -e BLACKFIRE_SERVER_ID=[YOUR ID] -e BLACKFIRE_SERVER_TOKEN=[YOUR TOKEN] -e BLACKFIRE_CLIENT_ID=[YOUR ID] -e BLACKFIRE_CLIENT_TOKEN=[YOUR TOKEN] --volume $(pwd):/app prooph/php:8.0-cli-blackfire run php [your PHP script] +$ docker run --rm -it -e BLACKFIRE_SERVER_ID=[YOUR ID] -e BLACKFIRE_SERVER_TOKEN=[YOUR TOKEN] -e BLACKFIRE_CLIENT_ID=[YOUR ID] -e BLACKFIRE_CLIENT_TOKEN=[YOUR TOKEN] --volume $(pwd):/app prooph/php:8.2-cli-blackfire run php [your PHP script] ``` ## fpm -Use the following image: `prooph/php:8.0-fpm`. +Use the following image: `prooph/php:8.2-fpm`. ## fpm with Opcache -Use the following image: `prooph/php:8.0-fpm-opcache`. +Use the following image: `prooph/php:8.2-fpm-opcache`. The [PHP Opcache](http://php.net/manual/en/book.opcache.php) is not useful for development, so it's not part of the default PHP-FPM image. Use this image if you want to have Opcache enabled. ## fpm with Xdebug -Use the following image: `prooph/php:8.0-fpm-xdebug`. +Use the following image: `prooph/php:8.2-fpm-xdebug`. [Xdebug](http://xdebug.org/) is a PHP debugger. @@ -88,7 +88,7 @@ Configure the Xdebug port in your IDE with `10000` and set the path mappings for to `/var/www`. The server name is `localhost`. Don't forget to set the Xdebug cookie in your browser to start debugging. ## fpm with Blackfire -Use the following image: `prooph/php:8.0-fpm-blackfire`. +Use the following image: `prooph/php:8.2-fpm-blackfire`. [SensioLabs Blackfire](https://blackfire.io/) is a PHP Profiler. @@ -111,6 +111,9 @@ To run Composer use: $ docker run --rm -it --volume $(pwd):/app prooph/composer:7.4 [your composer command] ``` +## Composer with PHP 8.2 +Use the following image: `prooph/composer:8.2`. + ## Composer with PHP 8.1 Use the following image: `prooph/composer:8.1`. diff --git a/php/inc/php-ext.m4 b/php/inc/php-ext.m4 index 26d0e0d..1746b1e 100644 --- a/php/inc/php-ext.m4 +++ b/php/inc/php-ext.m4 @@ -19,7 +19,8 @@ ENV PHPIZE_DEPS \ libxslt-dev \ # for intl extension icu-dev \ - openssl-dev + openssl-dev \ + linux-headers RUN apk add --no-cache --virtual .persistent-deps \ # for intl extension diff --git a/php/inc/xdebug.m4 b/php/inc/xdebug.m4 index 3631800..95b1569 100644 --- a/php/inc/xdebug.m4 +++ b/php/inc/xdebug.m4 @@ -5,7 +5,8 @@ ENV PHPIZE_DEPS \ gcc \ make \ pkgconf \ - re2c + re2c \ + linux-headers RUN set -xe \ && apk add --no-cache --virtual .build-deps \ diff --git a/php/m4/php-cli.m4 b/php/m4/php-cli.m4 index c242f2b..2d1da2e 100644 --- a/php/m4/php-cli.m4 +++ b/php/m4/php-cli.m4 @@ -1,8 +1,8 @@ include(`macros.m4') DONT_CHANGE() -ARG ALPINE_VERSION=3.15 -ARG PHP_VERSION=8.0 +ARG ALPINE_VERSION=3.16 +ARG PHP_VERSION=8.2 ######## # base # diff --git a/php/m4/php-fpm.m4 b/php/m4/php-fpm.m4 index 8b4ae75..e84395b 100644 --- a/php/m4/php-fpm.m4 +++ b/php/m4/php-fpm.m4 @@ -1,8 +1,8 @@ include(`macros.m4') DONT_CHANGE() -ARG ALPINE_VERSION=3.15 -ARG PHP_VERSION=8.0 +ARG ALPINE_VERSION=3.16 +ARG PHP_VERSION=8.2 ######## # base # diff --git a/php/m4/php-zts.m4 b/php/m4/php-zts.m4 index 65d36da..2aac2a9 100644 --- a/php/m4/php-zts.m4 +++ b/php/m4/php-zts.m4 @@ -1,8 +1,8 @@ include(`macros.m4') DONT_CHANGE() -ARG ALPINE_VERSION=3.15 -ARG PHP_VERSION=8.0 +ARG ALPINE_VERSION=3.16 +ARG PHP_VERSION=8.2 ######## # base # diff --git a/php/makefile b/php/makefile index 6d1f946..5a4a00d 100644 --- a/php/makefile +++ b/php/makefile @@ -11,38 +11,37 @@ dockerfiles: done docker-build: - PHP_VERSION=7.4; PHP_TARGET=cli; DOCKER_REGISTRY=prooph/; docker-compose build - PHP_VERSION=8.0; PHP_TARGET=cli; DOCKER_REGISTRY=prooph/; docker-compose build - PHP_VERSION=8.1; PHP_TARGET=cli; DOCKER_REGISTRY=prooph/; docker-compose build + export PHP_VERSION=8.0; export PHP_TARGET=cli; export DOCKER_REGISTRY=prooph/; docker-compose build + export PHP_VERSION=8.1; export PHP_TARGET=cli; export DOCKER_REGISTRY=prooph/; docker-compose build + export PHP_VERSION=8.2; export PHP_TARGET=cli; export DOCKER_REGISTRY=prooph/; docker-compose build - PHP_VERSION=7.4; PHP_TARGET=fpm; DOCKER_REGISTRY=prooph/; docker-compose build - PHP_VERSION=8.0; PHP_TARGET=fpm; DOCKER_REGISTRY=prooph/; docker-compose build - PHP_VERSION=8.1; PHP_TARGET=fpm; DOCKER_REGISTRY=prooph/; docker-compose build + export PHP_VERSION=8.0; export PHP_TARGET=fpm; export DOCKER_REGISTRY=prooph/; docker-compose build + export PHP_VERSION=8.1; export PHP_TARGET=fpm; export DOCKER_REGISTRY=prooph/; docker-compose build + export PHP_VERSION=8.2; export PHP_TARGET=fpm; export DOCKER_REGISTRY=prooph/; docker-compose build - PHP_VERSION=7.4; PHP_TARGET=zts; DOCKER_REGISTRY=prooph/; docker-compose build - PHP_VERSION=8.0; PHP_TARGET=zts; DOCKER_REGISTRY=prooph/; docker-compose build - PHP_VERSION=8.1; PHP_TARGET=zts; DOCKER_REGISTRY=prooph/; docker-compose build + export PHP_VERSION=8.0; export PHP_TARGET=zts; export DOCKER_REGISTRY=prooph/; docker-compose build + export PHP_VERSION=8.1; export PHP_TARGET=zts; export DOCKER_REGISTRY=prooph/; docker-compose build + export PHP_VERSION=8.2; export PHP_TARGET=zts; export DOCKER_REGISTRY=prooph/; docker-compose build docker-push: - PHP_VERSION=7.4; PHP_TARGET=cli; DOCKER_REGISTRY=prooph/; docker-compose push - PHP_VERSION=8.0; PHP_TARGET=cli; DOCKER_REGISTRY=prooph/; docker-compose push - PHP_VERSION=8.1; PHP_TARGET=cli; DOCKER_REGISTRY=prooph/; docker-compose push + export PHP_VERSION=8.0; export PHP_TARGET=cli; export DOCKER_REGISTRY=prooph/; docker-compose push + export PHP_VERSION=8.1; export PHP_TARGET=cli; export DOCKER_REGISTRY=prooph/; docker-compose push + export PHP_VERSION=8.2; export PHP_TARGET=cli; export DOCKER_REGISTRY=prooph/; docker-compose push - PHP_VERSION=7.4; PHP_TARGET=fpm; DOCKER_REGISTRY=prooph/; docker-compose push - PHP_VERSION=8.0; PHP_TARGET=fpm; DOCKER_REGISTRY=prooph/; docker-compose push - PHP_VERSION=8.1; PHP_TARGET=fpm; DOCKER_REGISTRY=prooph/; docker-compose push + export PHP_VERSION=8.0; export PHP_TARGET=fpm; export DOCKER_REGISTRY=prooph/; docker-compose push + export PHP_VERSION=8.1; export PHP_TARGET=fpm; export DOCKER_REGISTRY=prooph/; docker-compose push + export PHP_VERSION=8.2; export PHP_TARGET=fpm; export DOCKER_REGISTRY=prooph/; docker-compose push - PHP_VERSION=7.4; PHP_TARGET=zts; DOCKER_REGISTRY=prooph/; docker-compose push - PHP_VERSION=8.0; PHP_TARGET=zts; DOCKER_REGISTRY=prooph/; docker-compose push - PHP_VERSION=8.1; PHP_TARGET=zts; DOCKER_REGISTRY=prooph/; docker-compose push + export PHP_VERSION=8.0; export PHP_TARGET=zts; export DOCKER_REGISTRY=prooph/; docker-compose push + export PHP_VERSION=8.1; export PHP_TARGET=zts; export DOCKER_REGISTRY=prooph/; docker-compose push + export PHP_VERSION=8.2; export PHP_TARGET=zts; export DOCKER_REGISTRY=prooph/; docker-compose push docker-pull: - docker pull php:7.4-cli-alpine3.15 - docker pull php:8.0-cli-alpine3.15 - docker pull php:8.1-cli-alpine3.15 - docker pull php:7.4-fpm-alpine3.15 - docker pull php:8.0-fpm-alpine3.15 - docker pull php:8.1-fpm-alpine3.15 - docker pull php:7.4-zts-alpine3.15 - docker pull php:8.0-zts-alpine3.15 - docker pull php:8.1-zts-alpine3.15 + docker pull php:8.0-cli-alpine3.16 + docker pull php:8.1-cli-alpine3.16 + docker pull php:8.0-fpm-alpine3.16 + docker pull php:8.1-fpm-alpine3.16 + docker pull php:8.2-fpm-alpine3.16 + docker pull php:8.0-zts-alpine3.16 + docker pull php:8.1-zts-alpine3.16 + docker pull php:8.2-zts-alpine3.16 diff --git a/php/php-cli b/php/php-cli index ac1efff..bc629b0 100644 --- a/php/php-cli +++ b/php/php-cli @@ -1,7 +1,7 @@ # DO NOT MODIFY THIS AUTOGENERATED FILE # Change it in m4 folder -ARG ALPINE_VERSION=3.15 -ARG PHP_VERSION=8.0 +ARG ALPINE_VERSION=3.16 +ARG PHP_VERSION=8.2 ######## # base # ######## @@ -27,7 +27,8 @@ ENV PHPIZE_DEPS \ libxslt-dev \ # for intl extension icu-dev \ - openssl-dev + openssl-dev \ + linux-headers RUN apk add --no-cache --virtual .persistent-deps \ # for intl extension icu-libs \ @@ -177,7 +178,8 @@ ENV PHPIZE_DEPS \ gcc \ make \ pkgconf \ - re2c + re2c \ + linux-headers RUN set -xe \ && apk add --no-cache --virtual .build-deps \ $PHPIZE_DEPS \ @@ -191,7 +193,7 @@ COPY config/xdebug-cli.ini /usr/local/etc/php/conf.d/ FROM php-cli as composer-cli # Environmental Variables ENV COMPOSER_HOME=/root/composer -ARG COMPOSER_VERSION=2.3.7 +ARG COMPOSER_VERSION=2.5.4 ENV COMPOSER_ALLOW_SUPERUSER=1 RUN set -xe \ # use own name or other previous .persistent-deps will be removed diff --git a/php/php-fpm b/php/php-fpm index 3153763..76dac73 100644 --- a/php/php-fpm +++ b/php/php-fpm @@ -1,7 +1,7 @@ # DO NOT MODIFY THIS AUTOGENERATED FILE # Change it in m4 folder -ARG ALPINE_VERSION=3.15 -ARG PHP_VERSION=8.0 +ARG ALPINE_VERSION=3.16 +ARG PHP_VERSION=8.2 ######## # base # ######## @@ -27,7 +27,8 @@ ENV PHPIZE_DEPS \ libxslt-dev \ # for intl extension icu-dev \ - openssl-dev + openssl-dev \ + linux-headers RUN apk add --no-cache --virtual .persistent-deps \ # for intl extension icu-libs \ @@ -177,7 +178,8 @@ ENV PHPIZE_DEPS \ gcc \ make \ pkgconf \ - re2c + re2c \ + linux-headers RUN set -xe \ && apk add --no-cache --virtual .build-deps \ $PHPIZE_DEPS \ @@ -191,7 +193,7 @@ COPY config/xdebug.ini /usr/local/etc/php/conf.d/ FROM php-fpm as composer-fpm # Environmental Variables ENV COMPOSER_HOME=/root/composer -ARG COMPOSER_VERSION=2.3.7 +ARG COMPOSER_VERSION=2.5.4 ENV COMPOSER_ALLOW_SUPERUSER=1 RUN set -xe \ # use own name or other previous .persistent-deps will be removed diff --git a/php/php-zts b/php/php-zts index eafc28e..19f52c9 100644 --- a/php/php-zts +++ b/php/php-zts @@ -1,7 +1,7 @@ # DO NOT MODIFY THIS AUTOGENERATED FILE # Change it in m4 folder -ARG ALPINE_VERSION=3.15 -ARG PHP_VERSION=8.0 +ARG ALPINE_VERSION=3.16 +ARG PHP_VERSION=8.2 ######## # base # ######## @@ -27,7 +27,8 @@ ENV PHPIZE_DEPS \ libxslt-dev \ # for intl extension icu-dev \ - openssl-dev + openssl-dev \ + linux-headers RUN apk add --no-cache --virtual .persistent-deps \ # for intl extension icu-libs \ @@ -163,7 +164,8 @@ ENV PHPIZE_DEPS \ gcc \ make \ pkgconf \ - re2c + re2c \ + linux-headers RUN set -xe \ && apk add --no-cache --virtual .build-deps \ $PHPIZE_DEPS \ @@ -177,7 +179,7 @@ COPY config/xdebug-cli.ini /usr/local/etc/php/conf.d/ FROM php-zts as composer-zts # Environmental Variables ENV COMPOSER_HOME=/root/composer -ARG COMPOSER_VERSION=2.3.7 +ARG COMPOSER_VERSION=2.5.4 ENV COMPOSER_ALLOW_SUPERUSER=1 RUN set -xe \ # use own name or other previous .persistent-deps will be removed