mirror of
https://github.com/chialab/docker-php.git
synced 2026-08-24 02:24:16 -05:00
@@ -17,7 +17,7 @@ jobs:
|
||||
if: ${{ !contains(github.event.commits[0].message, '[skip ci]') && !contains(github.event.commits[0].message, '[ci skip]') }}
|
||||
strategy:
|
||||
matrix:
|
||||
version: [ '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3' ]
|
||||
version: [ '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ]
|
||||
flavor: [ '', '-apache', '-fpm', '-alpine', '-fpm-alpine' ]
|
||||
include:
|
||||
- version: 'latest'
|
||||
@@ -77,7 +77,7 @@ jobs:
|
||||
run: 'docker pull localhost:5000/chialab/php-dev:${{ matrix.version }}${{ matrix.flavor }} && make -C dev test'
|
||||
|
||||
- name: Build PCOV image for testing
|
||||
if: ${{ matrix.version >= 7.1 }}
|
||||
if: ${{ matrix.version >= 7.1 && matrix.version < 8.4 }}
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
cache-to: type=inline
|
||||
@@ -88,7 +88,7 @@ jobs:
|
||||
push: true
|
||||
|
||||
- name: Test PCOV image
|
||||
if: ${{ matrix.version >= 7.1 }}
|
||||
if: ${{ matrix.version >= 7.1 && matrix.version < 8.4 }}
|
||||
env:
|
||||
REGISTRY: localhost:5000/
|
||||
VERSION: ${{ matrix.version }}${{ matrix.flavor }}
|
||||
@@ -117,7 +117,7 @@ jobs:
|
||||
if: ${{ github.event_name != 'pull_request' && !contains(github.event.commits[0].message, '[skip ci]') && !contains(github.event.commits[0].message, '[ci skip]') }}
|
||||
strategy:
|
||||
matrix:
|
||||
version: [ '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3' ]
|
||||
version: [ '5.6', '7.0', '7.1', '7.2', '7.3', '7.4', '8.0', '8.1', '8.2', '8.3', '8.4' ]
|
||||
flavor: [ '', '-apache', '-fpm', '-alpine', '-fpm-alpine' ]
|
||||
include:
|
||||
- version: 'latest'
|
||||
@@ -188,7 +188,7 @@ jobs:
|
||||
push: true
|
||||
|
||||
- name: Build PCOV image and push to registry
|
||||
if: ${{ matrix.version >= 7.1 }}
|
||||
if: ${{ matrix.version >= 7.1 && matrix.version < 8.4 }}
|
||||
uses: docker/build-push-action@v5
|
||||
with:
|
||||
platforms: linux/amd64,linux/arm64
|
||||
|
||||
+1
-5
@@ -29,6 +29,7 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||
exif \
|
||||
gd \
|
||||
gettext \
|
||||
imagick \
|
||||
intl \
|
||||
ldap \
|
||||
memcached \
|
||||
@@ -47,11 +48,6 @@ RUN DEBIAN_FRONTEND=noninteractive apt-get update -q \
|
||||
5.6.*) PHP_EXTENSIONS="$PHP_EXTENSIONS mcrypt mysql";; \
|
||||
7.0.*|7.1.*) PHP_EXTENSIONS="$PHP_EXTENSIONS mcrypt";; \
|
||||
esac \
|
||||
# Install Imagick from master on PHP >= 8.3, because imagick 3.7.0 broke on latest PHP releases and Imagick maintainers don't care to tag a newer release
|
||||
&& if [ $(php -r 'echo PHP_VERSION_ID;') -lt 80300 ]; then \
|
||||
PHP_EXTENSIONS="$PHP_EXTENSIONS imagick"; \
|
||||
else PHP_EXTENSIONS="$PHP_EXTENSIONS https://api.github.com/repos/Imagick/imagick/tarball/28f27044e435a2b203e32675e942eb8de620ee58"; \
|
||||
fi \
|
||||
&& install-php-extensions $PHP_EXTENSIONS \
|
||||
&& if command -v a2enmod; then a2enmod rewrite; fi
|
||||
|
||||
|
||||
+1
-5
@@ -21,6 +21,7 @@ RUN apk add --no-cache \
|
||||
exif \
|
||||
gd \
|
||||
gettext \
|
||||
imagick \
|
||||
intl \
|
||||
ldap \
|
||||
memcached \
|
||||
@@ -39,11 +40,6 @@ RUN apk add --no-cache \
|
||||
5.6.*) PHP_EXTENSIONS="$PHP_EXTENSIONS mcrypt mysql";; \
|
||||
7.0.*|7.1.*) PHP_EXTENSIONS="$PHP_EXTENSIONS mcrypt";; \
|
||||
esac \
|
||||
# Install Imagick from master on PHP >= 8.3, because imagick 3.7.0 broke on latest PHP releases and Imagick maintainers don't care to tag a newer release
|
||||
&& if [ $(php -r 'echo PHP_VERSION_ID;') -lt 80300 ]; then \
|
||||
PHP_EXTENSIONS="$PHP_EXTENSIONS imagick"; \
|
||||
else PHP_EXTENSIONS="$PHP_EXTENSIONS https://api.github.com/repos/Imagick/imagick/tarball/28f27044e435a2b203e32675e942eb8de620ee58"; \
|
||||
fi \
|
||||
&& install-php-extensions $PHP_EXTENSIONS \
|
||||
&& if command -v a2enmod; then a2enmod rewrite; fi
|
||||
|
||||
|
||||
@@ -33,11 +33,11 @@ EXTENSIONS := \
|
||||
xsl \
|
||||
zip \
|
||||
sockets
|
||||
ifeq (,$(findstring $(PHP_VERSION), 7.2 7.3 7.4 8.0 8.1 8.2 8.3 latest alpine))
|
||||
ifeq (,$(findstring $(PHP_VERSION), 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 latest alpine))
|
||||
# Add more extensions to PHP < 7.2.
|
||||
EXTENSIONS += mcrypt
|
||||
endif
|
||||
ifeq (,$(findstring $(PHP_VERSION), 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 latest alpine))
|
||||
ifeq (,$(findstring $(PHP_VERSION), 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 latest alpine))
|
||||
# Add more extensions to 5.x series images.
|
||||
EXTENSIONS += mysql
|
||||
endif
|
||||
|
||||
@@ -56,6 +56,9 @@ For development environments, you might want to choose an [image with XDebug ins
|
||||
- `8.3`
|
||||
- `8.3-apache`
|
||||
- `8.3-fpm`
|
||||
- `8.4`
|
||||
- `8.4-apache`
|
||||
- `8.4-fpm`
|
||||
|
||||
As you might have guessed, all tags are built on top of the corresponding tag of the official image. Not all tags are supported in order to easen maintenance.
|
||||
|
||||
|
||||
+6
-2
@@ -2,5 +2,9 @@ ARG BASE_IMAGE=chialab/php:latest
|
||||
FROM ${BASE_IMAGE}
|
||||
LABEL maintainer="dev@chialab.io"
|
||||
|
||||
# Install XDebug.
|
||||
RUN install-php-extensions xdebug
|
||||
# Install XDebug. Use beta version for PHP 8.4
|
||||
RUN if [ $(php-config --vernum) -lt 80400 ]; then \
|
||||
install-php-extensions xdebug; \
|
||||
else \
|
||||
install-php-extensions xdebug-beta; \
|
||||
fi
|
||||
|
||||
+2
-2
@@ -34,11 +34,11 @@ EXTENSIONS := \
|
||||
xsl \
|
||||
zip \
|
||||
sockets
|
||||
ifeq (,$(findstring $(PHP_VERSION), 7.2 7.3 7.4 8.0 8.1 8.2 8.3 latest alpine))
|
||||
ifeq (,$(findstring $(PHP_VERSION), 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 latest alpine))
|
||||
# Add more extensions to PHP < 7.2.
|
||||
EXTENSIONS += mcrypt
|
||||
endif
|
||||
ifeq (,$(findstring $(PHP_VERSION), 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 latest alpine))
|
||||
ifeq (,$(findstring $(PHP_VERSION), 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 latest alpine))
|
||||
# Add more extensions to 5.x series images.
|
||||
EXTENSIONS += mysql
|
||||
endif
|
||||
|
||||
@@ -56,6 +56,9 @@ For more production-like environments, you might want to choose an [image *witho
|
||||
- `8.3`
|
||||
- `8.3-apache`
|
||||
- `8.3-fpm`
|
||||
- `8.4`
|
||||
- `8.4-apache`
|
||||
- `8.4-fpm`
|
||||
|
||||
As you might have guessed, all tags are built on top of the corresponding tag of the official image. Not all tags are supported in order to easen maintenance.
|
||||
|
||||
|
||||
+1
-1
@@ -34,7 +34,7 @@ EXTENSIONS := \
|
||||
xsl \
|
||||
zip \
|
||||
sockets
|
||||
ifeq (,$(findstring $(PHP_VERSION), 7.2 7.3 7.4 8.0 8.1 8.2 8.3 latest alpine))
|
||||
ifeq (,$(findstring $(PHP_VERSION), 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 latest alpine))
|
||||
# Add more extensions to PHP < 7.2.
|
||||
EXTENSIONS += mcrypt
|
||||
endif
|
||||
|
||||
@@ -50,6 +50,9 @@ For more production-like environments, you might want to choose an [image *witho
|
||||
- `8.3`
|
||||
- `8.3-apache`
|
||||
- `8.3-fpm`
|
||||
- `8.4`
|
||||
- `8.4-apache`
|
||||
- `8.4-fpm`
|
||||
|
||||
As you might have guessed, all tags are built on top of the corresponding tag of the official image. Not all tags are supported in order to easen maintenance.
|
||||
|
||||
|
||||
+2
-2
@@ -34,11 +34,11 @@ EXTENSIONS := \
|
||||
xhprof \
|
||||
xsl \
|
||||
zip
|
||||
ifeq (,$(findstring $(PHP_VERSION), 7.2 7.3 7.4 8.0 8.1 8.2 8.3 latest alpine))
|
||||
ifeq (,$(findstring $(PHP_VERSION), 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 latest alpine))
|
||||
# Add more extensions to PHP < 7.2.
|
||||
EXTENSIONS += mcrypt
|
||||
endif
|
||||
ifeq (,$(findstring $(PHP_VERSION), 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 latest alpine))
|
||||
ifeq (,$(findstring $(PHP_VERSION), 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 latest alpine))
|
||||
# Add more extensions to 5.x series images.
|
||||
EXTENSIONS += mysql
|
||||
endif
|
||||
|
||||
@@ -56,6 +56,9 @@ For more production-like environments, you might want to choose an [image *witho
|
||||
- `8.3`
|
||||
- `8.3-apache`
|
||||
- `8.3-fpm`
|
||||
- `8.4`
|
||||
- `8.4-apache`
|
||||
- `8.4-fpm`
|
||||
|
||||
As you might have guessed, all tags are built on top of the corresponding tag of the official image. Not all tags are supported in order to easen maintenance.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user