summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--docker-compose.yml156
-rw-r--r--docker/php/Dockerfile41
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