diff options
-rw-r--r-- | docker-compose.yml | 156 | ||||
-rw-r--r-- | docker/php/Dockerfile | 41 |
2 files changed, 63 insertions, 134 deletions
diff --git a/docker-compose.yml b/docker-compose.yml index e58b1b0..d26a5af 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -1,196 +1,100 @@ version: '3' services: - php-7.0-libxml-2.9.4: &template + php-7.3-libxml-2.9.4: &template build: context: ./docker/php args: LIBXML_VERSION: 2.9.4 - PHP_VERSION: 7.0 + PHP_VERSION: 7.3 volumes: - ./:/app tty: true - php-7.0-libxml-2.9.5: - <<: *template - build: - context: ./docker/php - args: - LIBXML_VERSION: 2.9.5 - PHP_VERSION: 7.0 - - php-7.0-libxml-2.9.6: - <<: *template - build: - context: ./docker/php - args: - LIBXML_VERSION: 2.9.6 - PHP_VERSION: 7.0 - - php-7.0-libxml-2.9.7: - <<: *template - build: - context: ./docker/php - args: - LIBXML_VERSION: 2.9.7 - PHP_VERSION: 7.0 - - php-7.0-libxml-2.9.8: - <<: *template - build: - context: ./docker/php - args: - LIBXML_VERSION: 2.9.8 - PHP_VERSION: 7.0 - - php-7.0-libxml-2.9.9: - <<: *template - build: - context: ./docker/php - args: - LIBXML_VERSION: 2.9.9 - PHP_VERSION: 7.0 - - php-7.1-libxml-2.9.4: - <<: *template - build: - context: ./docker/php - args: - LIBXML_VERSION: 2.9.4 - PHP_VERSION: 7.1 - - php-7.1-libxml-2.9.5: + php-7.3-libxml-2.9.5: <<: *template build: context: ./docker/php args: LIBXML_VERSION: 2.9.5 - PHP_VERSION: 7.1 - - php-7.1-libxml-2.9.6: - <<: *template - build: - context: ./docker/php - args: - LIBXML_VERSION: 2.9.6 - PHP_VERSION: 7.1 - - php-7.1-libxml-2.9.7: - <<: *template - build: - context: ./docker/php - args: - LIBXML_VERSION: 2.9.7 - PHP_VERSION: 7.1 + PHP_VERSION: 7.3 - php-7.1-libxml-2.9.8: + php-7.3-libxml-2.9.10: <<: *template build: context: ./docker/php args: - LIBXML_VERSION: 2.9.8 - PHP_VERSION: 7.1 + LIBXML_VERSION: 2.9.10 + PHP_VERSION: 7.3 - php-7.1-libxml-2.9.9: + php-7.3-libxml-2.9.12: <<: *template build: context: ./docker/php args: - LIBXML_VERSION: 2.9.9 - PHP_VERSION: 7.1 + LIBXML_VERSION: 2.9.12 + PHP_VERSION: 7.3 - php-7.2-libxml-2.9.4: + php-7.4-libxml-2.9.4: <<: *template build: context: ./docker/php args: LIBXML_VERSION: 2.9.4 - PHP_VERSION: 7.2 + PHP_VERSION: 7.4 - php-7.2-libxml-2.9.5: + php-7.4-libxml-2.9.5: <<: *template build: context: ./docker/php args: LIBXML_VERSION: 2.9.5 - PHP_VERSION: 7.2 + PHP_VERSION: 7.4 - php-7.2-libxml-2.9.6: + php-7.4-libxml-2.9.10: <<: *template build: context: ./docker/php args: - LIBXML_VERSION: 2.9.6 - PHP_VERSION: 7.2 + LIBXML_VERSION: 2.9.10 + PHP_VERSION: 7.4 - php-7.2-libxml-2.9.7: + php-7.4-libxml-2.9.12: <<: *template build: context: ./docker/php args: - LIBXML_VERSION: 2.9.7 - PHP_VERSION: 7.2 + LIBXML_VERSION: 2.9.12 + PHP_VERSION: 7.4 - php-7.2-libxml-2.9.8: - <<: *template - build: - context: ./docker/php - args: - LIBXML_VERSION: 2.9.8 - PHP_VERSION: 7.2 - - php-7.2-libxml-2.9.9: - <<: *template - build: - context: ./docker/php - args: - LIBXML_VERSION: 2.9.9 - PHP_VERSION: 7.2 - - php-7.3-libxml-2.9.4: + php-8-libxml-2.9.4: <<: *template build: context: ./docker/php args: LIBXML_VERSION: 2.9.4 - PHP_VERSION: 7.3 + PHP_VERSION: 8 - php-7.3-libxml-2.9.5: + php-8-libxml-2.9.5: <<: *template build: context: ./docker/php args: LIBXML_VERSION: 2.9.5 - PHP_VERSION: 7.3 - - php-7.3-libxml-2.9.6: - <<: *template - build: - context: ./docker/php - args: - LIBXML_VERSION: 2.9.6 - PHP_VERSION: 7.3 + PHP_VERSION: 8 - php-7.3-libxml-2.9.7: + php-8-libxml-2.9.10: <<: *template build: context: ./docker/php args: - LIBXML_VERSION: 2.9.7 - PHP_VERSION: 7.3 + LIBXML_VERSION: 2.9.10 + PHP_VERSION: 8 - php-7.3-libxml-2.9.8: + php-8-libxml-2.9.12: <<: *template build: context: ./docker/php args: - LIBXML_VERSION: 2.9.8 - PHP_VERSION: 7.3 - - php-7.3-libxml-2.9.9: - <<: *template - build: - context: ./docker/php - args: - LIBXML_VERSION: 2.9.9 - PHP_VERSION: 7.3 + LIBXML_VERSION: 2.9.12 + PHP_VERSION: 8 diff --git a/docker/php/Dockerfile b/docker/php/Dockerfile index c1fef3d..58a2eb3 100644 --- a/docker/php/Dockerfile +++ b/docker/php/Dockerfile @@ -1,13 +1,38 @@ -ARG PHP_VERSION -ARG LIBXML_VERSION -FROM andreskrey/php-${PHP_VERSION}:libxml-${LIBXML_VERSION} +ARG PHP_VERSION=8 +FROM php:${PHP_VERSION}-cli -RUN apt-get update +# Install sqlite and libonig-dev (required for building PHP 7.4) +RUN apt-get update && apt-get install -y libsqlite3-dev libonig-dev +# Install custom version of libxml2 +RUN apt-get install -y automake libtool unzip libssl-dev +# Remove current version +RUN apt-get remove -y libxml2 +# Download new version, configure and compile +ARG LIBXML_VERSION=2.9.12 +RUN curl https://gitlab.gnome.org/GNOME/libxml2/-/archive/v$LIBXML_VERSION/libxml2-v$LIBXML_VERSION.zip -o /tmp/libxml.zip && \ + cd /tmp && \ + unzip libxml.zip && \ + cd libxml2-v$LIBXML_VERSION && \ + ./autogen.sh --libdir=/usr/lib/x86_64-linux-gnu && \ + make && \ + make install +# Recompile PHP with the new libxml2 library +RUN docker-php-source extract && \ + cd /usr/src/php && \ + ./configure \ + --with-libxml-dir=/usr/lib/x86_64-linux-gnu \ + --enable-mbstring \ + --with-openssl \ + --with-config-file-path=/usr/local/etc/php \ + --with-config-file-scan-dir=/usr/local/etc/php/conf.d && \ + make && make install && \ + docker-php-source delete -# Check if there's a pinned version of Xdebug for compatibility reasons -ARG XDEBUG_VERSION -RUN pecl install xdebug$(if [ ! ${XDEBUG_VERSION} = '' ]; then echo -${XDEBUG_VERSION} ; fi) && docker-php-ext-enable xdebug +#RUN apt-get update +# Check if there's a pinned version of Xdebug for compatibility reasons +#ARG XDEBUG_VERSION +#RUN pecl install xdebug$(if [ ! ${XDEBUG_VERSION} = '' ]; then echo -${XDEBUG_VERSION} ; fi) && docker-php-ext-enable xdebug # Required by coveralls -RUN apt-get install git -y +#RUN apt-get install git -y |