diff --git a/docker-compose.yml b/docker-compose.yml index 65639673..8a0a24af 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -82,6 +82,7 @@ services: - backend ### PHP Worker Container ##################################### + php-worker: build: context: ./php-worker diff --git a/php-fpm/Dockerfile-56 b/php-fpm/Dockerfile-56 index 9519b7b6..e44fea02 100644 --- a/php-fpm/Dockerfile-56 +++ b/php-fpm/Dockerfile-56 @@ -44,7 +44,7 @@ ARG INSTALL_SOAP=false RUN if [ ${INSTALL_SOAP} = true ]; then \ # Install the soap extension apt-get -y update && \ - apt-get -y install libxml2-dev php-soap && \ + apt-get -y install libxml2-dev php-soap && \ docker-php-ext-install soap \ ;fi @@ -65,6 +65,18 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \ # Copy xdebug configration for remote debugging COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini +##################################### +# PHP REDIS EXTENSION FOR PHP 5 +##################################### + +ARG INSTALL_PHPREDIS=false +RUN if [ ${INSTALL_PHPREDIS} = true ]; then \ + # Install Php Redis Extension + pecl install -o -f redis \ + && rm -rf /tmp/pear \ + && docker-php-ext-enable redis \ +;fi + ##################################### # MongoDB: ##################################### @@ -114,8 +126,7 @@ RUN if [ ${INSTALL_MEMCACHED} = true ]; then \ ARG INSTALL_EXIF=false RUN if [ ${INSTALL_EXIF} = true ]; then \ # Enable Exif PHP extentions requirements - docker-php-ext-install exif && \ - docker-php-ext-enable exif \ + docker-php-ext-install exif \ ;fi ##################################### @@ -147,8 +158,7 @@ RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = true ]; then \ ARG INSTALL_OPCACHE=false RUN if [ ${INSTALL_OPCACHE} = true ]; then \ - docker-php-ext-install opcache && \ - docker-php-ext-enable opcache \ + docker-php-ext-install opcache \ ;fi # Copy opcache configration @@ -172,7 +182,30 @@ RUN if [ ${INSTALL_MYSQLI} = true ]; then \ ARG INSTALL_TOKENIZER=false RUN if [ ${INSTALL_TOKENIZER} = true ]; then \ - docker-php-ext-install tokenizer \ + docker-php-ext-install tokenizer \ +;fi + +##################################### +# Human Language and Character Encoding Support: +##################################### + +ARG INSTALL_INTL=false +RUN if [ ${INSTALL_INTL} = true ]; then \ + # Install intl and requirements + apt-get install -y zlib1g-dev libicu-dev g++ && \ + docker-php-ext-configure intl && \ + docker-php-ext-install intl \ +;fi + +##################################### +# GHOSTSCRIPT: +##################################### + +ARG INSTALL_GHOSTSCRIPT=false +RUN if [ ${GHOSTSCRIPT} = true ]; then \ + # Install the ghostscript extension for PDF editing + apt-get update && \ + apt-get install -y poppler-utils ghostscript \ ;fi # diff --git a/php-fpm/Dockerfile-70 b/php-fpm/Dockerfile-70 index 7f2d9d2b..aabbf3dc 100644 --- a/php-fpm/Dockerfile-70 +++ b/php-fpm/Dockerfile-70 @@ -34,7 +34,6 @@ MAINTAINER Mahmoud Zalt # in the `docker-compose.yml` before the build. # Example: # - INSTALL_ZIP_ARCHIVE=true -# - ... # ##################################### @@ -60,6 +59,9 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \ docker-php-ext-enable xdebug \ ;fi +# Copy xdebug configration for remote debugging +COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini + ##################################### # PHP REDIS EXTENSION FOR PHP 7 ##################################### @@ -72,9 +74,6 @@ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \ && docker-php-ext-enable redis \ ;fi -# Copy xdebug configration for remote debugging -COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini - ##################################### # MongoDB: ##################################### @@ -135,11 +134,9 @@ RUN if [ ${INSTALL_MEMCACHED} = true ]; then \ ARG INSTALL_EXIF=false RUN if [ ${INSTALL_EXIF} = true ]; then \ # Enable Exif PHP extentions requirements - docker-php-ext-install exif && \ - docker-php-ext-enable exif \ + docker-php-ext-install exif \ ;fi - ##################################### # PHP Aerospike: ##################################### @@ -166,10 +163,10 @@ RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = true ]; then \ ##################################### # Opcache: ##################################### + ARG INSTALL_OPCACHE=false RUN if [ ${INSTALL_OPCACHE} = true ]; then \ - docker-php-ext-install opcache && \ - docker-php-ext-enable opcache \ + docker-php-ext-install opcache \ ;fi # Copy opcache configration @@ -178,6 +175,7 @@ COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini ##################################### # Mysqli Modifications: ##################################### + ARG INSTALL_MYSQLI=false RUN if [ ${INSTALL_MYSQLI} = true ]; then \ docker-php-ext-install mysqli \ @@ -189,12 +187,13 @@ RUN if [ ${INSTALL_MYSQLI} = true ]; then \ ARG INSTALL_TOKENIZER=false RUN if [ ${INSTALL_TOKENIZER} = true ]; then \ - docker-php-ext-install tokenizer \ + docker-php-ext-install tokenizer \ ;fi ##################################### # SQL SERVER: ##################################### + ARG MSSQL=false RUN if [ ${MSSQL} = true ]; then \ @@ -271,8 +270,6 @@ RUN if [ ${MSSQL} = true ]; then \ && locale-gen \ ;fi - - ##################################### # Human Language and Character Encoding Support: ##################################### diff --git a/php-fpm/Dockerfile-71 b/php-fpm/Dockerfile-71 index 96df3890..bc3079f2 100644 --- a/php-fpm/Dockerfile-71 +++ b/php-fpm/Dockerfile-71 @@ -34,9 +34,20 @@ MAINTAINER Mahmoud Zalt # in the `docker-compose.yml` before the build. # Example: # - INSTALL_ZIP_ARCHIVE=true -# - ... # +##################################### +# SOAP: +##################################### + +ARG INSTALL_SOAP=false +RUN if [ ${INSTALL_SOAP} = true ]; then \ + # Install the soap extension + apt-get -y update && \ + apt-get -y install libxml2-dev php-soap && \ + docker-php-ext-install soap \ +;fi + ##################################### # xDebug: ##################################### @@ -48,6 +59,9 @@ RUN if [ ${INSTALL_XDEBUG} = true ]; then \ docker-php-ext-enable xdebug \ ;fi +# Copy xdebug configration for remote debugging +COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini + ##################################### # PHP REDIS EXTENSION FOR PHP 7 ##################################### @@ -60,9 +74,6 @@ RUN if [ ${INSTALL_PHPREDIS} = true ]; then \ && docker-php-ext-enable redis \ ;fi -# Copy xdebug configration for remote debugging -COPY ./xdebug.ini /usr/local/etc/php/conf.d/xdebug.ini - ##################################### # MongoDB: ##################################### @@ -84,6 +95,16 @@ RUN if [ ${INSTALL_ZIP_ARCHIVE} = true ]; then \ docker-php-ext-install zip \ ;fi +##################################### +# bcmath: +##################################### + +ARG INSTALL_BCMATH=false +RUN if [ ${INSTALL_BCMATH} = true ]; then \ + # Install the bcmath extension + docker-php-ext-install bcmath \ +;fi + ##################################### # PHP Memcached: ##################################### @@ -113,8 +134,7 @@ RUN if [ ${INSTALL_MEMCACHED} = true ]; then \ ARG INSTALL_EXIF=false RUN if [ ${INSTALL_EXIF} = true ]; then \ # Enable Exif PHP extentions requirements - docker-php-ext-install exif && \ - docker-php-ext-enable exif \ + docker-php-ext-install exif \ ;fi ##################################### @@ -137,15 +157,16 @@ RUN if [ ${INSTALL_AEROSPIKE_EXTENSION} = true ]; then \ && make install \ ) \ && rm /tmp/aerospike-client-php.tar.gz \ + && docker-php-ext-enable aerospike \ ;fi ##################################### # Opcache: ##################################### + ARG INSTALL_OPCACHE=false RUN if [ ${INSTALL_OPCACHE} = true ]; then \ - docker-php-ext-install opcache && \ - docker-php-ext-enable opcache \ + docker-php-ext-install opcache \ ;fi # Copy opcache configration @@ -154,6 +175,7 @@ COPY ./opcache.ini /usr/local/etc/php/conf.d/opcache.ini ##################################### # Mysqli Modifications: ##################################### + ARG INSTALL_MYSQLI=false RUN if [ ${INSTALL_MYSQLI} = true ]; then \ docker-php-ext-install mysqli \ diff --git a/workspace/Dockerfile-70 b/workspace/Dockerfile-70 index db6d5c78..323c5029 100644 --- a/workspace/Dockerfile-70 +++ b/workspace/Dockerfile-70 @@ -60,8 +60,7 @@ RUN if [ ${INSTALL_SOAP} = true ]; then \ # Install the PHP SOAP extension apt-get -y update && \ add-apt-repository -y ppa:ondrej/php && \ - apt-get -y install libxml2-dev php7.0-soap && \ - echo "extension=soap.so" >> /etc/php/7.0/cli/conf.d/40-soap.ini \ + apt-get -y install libxml2-dev php7.0-soap \ ;fi #####################################