# Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead. FROM devilbox/php-fpm:7.2-base as builder ### ### Install ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests apt-utils \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ alien \ firebird-dev \ freetds-dev \ libaio-dev \ libbz2-dev \ libc-client-dev \ libcurl4-openssl-dev \ libenchant-dev \ libevent-dev \ libfbclient2 \ libfreetype6-dev \ libgmp-dev \ libib-util \ libicu-dev \ libjpeg-dev \ libkrb5-dev \ libldap2-dev \ libmagickwand-dev \ libmcrypt-dev \ libmemcached-dev \ libnghttp2-dev \ libpcre3-dev \ libpng-dev \ libpq-dev \ libpspell-dev \ librabbitmq-dev \ librdkafka-dev \ librecode-dev \ libsasl2-dev \ libsnmp-dev \ libssh2-1-dev \ libssl-dev \ libtidy-dev \ libvpx-dev \ libwebp-dev \ libwebp6 \ libxml2-dev \ libxpm-dev \ libxslt-dev \ libzip-dev \ snmp \ unixodbc-dev \ zlib1g-dev \ ca-certificates \ git # Fix timezone (only required for testing to stop php -v and php-fpm -v from complaining to stderr) RUN set -eux \ && echo "date.timezone=UTC" > /usr/local/etc/php/php.ini ### ### Install and enable PHP modules ### # Enable ffi if it exists RUN set -eux \ && if [ -f /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini ]; then \ echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi # -------------------- Installing PHP Extension: ioncube -------------------- RUN set -eux \ # Installation: Generic # Type: Custom extension && EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \ && if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \ && curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \ && tar xvfz ioncube.tar.gz \ && cd ioncube \ && cp "ioncube_loader_lin_7.2.so" "${EXTENSION_DIR}/ioncube.so" \ && cd ../ \ && rm -rf ioncube \ && rm -rf ioncube.tar.gz \ \ && true # -------------------- Installing PHP Extension: amqp -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Custom: Pecl command && echo "/usr" | pecl install amqp \ # Enabling && docker-php-ext-enable amqp \ && true # -------------------- Installing PHP Extension: apcu -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install apcu \ # Enabling && docker-php-ext-enable apcu \ && true # -------------------- Installing PHP Extension: bcmath -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bcmath \ && true # -------------------- Installing PHP Extension: blackfire -------------------- RUN set -eux \ # Installation: Generic # Type: Custom extension && version=$(php -r "echo PHP_MAJOR_VERSION.PHP_MINOR_VERSION;") \ && curl -A "Docker" -o /tmp/blackfire-probe.tar.gz -D - -L -s https://blackfire.io/api/v1/releases/probe/php/linux/amd64/$version \ && mkdir -p /tmp/blackfire \ && tar zxpf /tmp/blackfire-probe.tar.gz -C /tmp/blackfire \ && mv /tmp/blackfire/blackfire-*.so $(php -r "echo ini_get('extension_dir');")/blackfire.so \ && rm -rf /tmp/blackfire /tmp/blackfire-probe.tar.gz \ \ && true # -------------------- Installing PHP Extension: bz2 -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) bz2 \ && true # -------------------- Installing PHP Extension: calendar -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) calendar \ && true # -------------------- Installing PHP Extension: dba -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) dba \ && true # -------------------- Installing PHP Extension: enchant -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) enchant \ && true # -------------------- Installing PHP Extension: exif -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) exif \ && true # -------------------- Installing PHP Extension: gd -------------------- RUN set -eux \ # Generic pre-command && ln -s /usr/lib/x86_64-linux-gnu/libXpm.* /usr/lib/ \ # Installation: Version specific # Type: Built-in extension # Custom: configure command && docker-php-ext-configure gd --with-gd --with-webp-dir=/usr --with-jpeg-dir=/usr --with-png-dir=/usr --with-zlib-dir=/usr --with-xpm-dir=/usr --with-freetype-dir=/usr --enable-gd-jis-conv \ # Installation && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gd \ && true # -------------------- Installing PHP Extension: gettext -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gettext \ && true # -------------------- Installing PHP Extension: gmp -------------------- RUN set -eux \ # Generic pre-command && ln /usr/include/x86_64-linux-gnu/gmp.h /usr/include/ \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) gmp \ && true # -------------------- Installing PHP Extension: igbinary -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install igbinary \ # Enabling && docker-php-ext-enable igbinary \ && true # -------------------- Installing PHP Extension: imagick -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install imagick \ # Enabling && docker-php-ext-enable imagick \ && true # -------------------- Installing PHP Extension: imap -------------------- RUN set -eux \ # Generic pre-command && ln -s /usr/lib/x86_64-linux-gnu/libkrb5* /usr/lib/ \ # Installation: Generic # Type: Built-in extension # Custom: configure command && docker-php-ext-configure imap --with-kerberos --with-imap-ssl --with-imap \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) imap \ && true # -------------------- Installing PHP Extension: interbase -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) interbase \ && true # -------------------- Installing PHP Extension: intl -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) intl \ && true # -------------------- Installing PHP Extension: ldap -------------------- RUN set -eux \ # Generic pre-command && ln -s /usr/lib/x86_64-linux-gnu/libldap* /usr/lib/ \ # Installation: Generic # Type: Built-in extension # Custom: configure command && docker-php-ext-configure ldap --with-ldap --with-ldap-sasl \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) ldap \ && true # -------------------- Installing PHP Extension: mcrypt -------------------- RUN set -eux \ # Installation: Version specific # Type: PECL extension # Default: Pecl command && pecl install mcrypt-1.0.1 \ # Enabling && docker-php-ext-enable mcrypt \ && true # -------------------- Installing PHP Extension: msgpack -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install msgpack \ # Enabling && docker-php-ext-enable msgpack \ && true # -------------------- Installing PHP Extension: memcache -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install memcache \ # Enabling && docker-php-ext-enable memcache \ && true # -------------------- Installing PHP Extension: memcached -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install memcached \ # Enabling && docker-php-ext-enable memcached \ && true # -------------------- Installing PHP Extension: mongodb -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install mongodb \ # Enabling && docker-php-ext-enable mongodb \ && true # -------------------- Installing PHP Extension: mysqli -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) mysqli \ && true # -------------------- Installing PHP Extension: oauth -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install oauth \ # Enabling && docker-php-ext-enable oauth \ && true # -------------------- Installing PHP Extension: oci8 -------------------- RUN set -eux \ # Generic pre-command && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ \ && rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \ && curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ && curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ && alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ && alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ && rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ && rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ \ # Installation: Generic # Type: Built-in extension # Custom: configure command && docker-php-ext-configure oci8 --with-oci8=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) oci8 \ # Generic post-command && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ && (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \ \ && true # -------------------- Installing PHP Extension: opcache -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) opcache \ && true # -------------------- Installing PHP Extension: pcntl -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pcntl \ && true # -------------------- Installing PHP Extension: pdo_dblib -------------------- RUN set -eux \ # Generic pre-command && ln -s /usr/lib/x86_64-linux-gnu/libsybdb.* /usr/lib/ \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_dblib \ && true # -------------------- Installing PHP Extension: pdo_firebird -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_firebird \ && true # -------------------- Installing PHP Extension: pdo_mysql -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension # Custom: configure command && docker-php-ext-configure pdo_mysql --with-zlib-dir=/usr \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_mysql \ && true # -------------------- Installing PHP Extension: pdo_oci -------------------- RUN set -eux \ # Generic pre-command && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ \ && rpm --import http://yum.oracle.com/RPM-GPG-KEY-oracle-ol7 \ && curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ && curl -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ && alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ && alien -i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ && rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.x86_64.rpm \ && rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.x86_64.rpm \ && (ln -s /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \ \ # Installation: Version specific # Type: Built-in extension # Custom: configure command && docker-php-ext-configure pdo_oci --with-pdo-oci=instantclient,/usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/,${ORACLE_VERSION_MAJOR} \ # Installation && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_oci \ && true # -------------------- Installing PHP Extension: pdo_pgsql -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pdo_pgsql \ && true # -------------------- Installing PHP Extension: pdo_sqlsrv -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install pdo_sqlsrv \ # Enabling && docker-php-ext-enable pdo_sqlsrv \ && true # -------------------- Installing PHP Extension: pgsql -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pgsql \ && true # -------------------- Installing PHP Extension: psr -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install psr \ # Enabling && docker-php-ext-enable psr \ && true # -------------------- Installing PHP Extension: phalcon -------------------- RUN set -eux \ # Installation: Generic # Type: GIT extension && git clone https://github.com/phalcon/cphalcon /tmp/phalcon \ && cd /tmp/phalcon \ # Custom: Branch && git checkout $(git for-each-ref --format='%(*creatordate:raw)%(creatordate:raw) %(refname)' refs/tags | sort -n | sed 's/^.*tags\///g' | grep -E '^v[.0-9]+$' | tail -1) \ # Custom: Install command && cd build && ./install \ # Enabling && docker-php-ext-enable phalcon \ && true # -------------------- Installing PHP Extension: pspell -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) pspell \ && true # -------------------- Installing PHP Extension: recode -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \ && true # -------------------- Installing PHP Extension: redis -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install redis \ # Enabling && docker-php-ext-enable redis \ && true # -------------------- Installing PHP Extension: rdkafka -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install rdkafka \ # Enabling && docker-php-ext-enable rdkafka \ && true # -------------------- Installing PHP Extension: shmop -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) shmop \ && true # -------------------- Installing PHP Extension: snmp -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension # Custom: configure command && docker-php-ext-configure snmp --with-openssl-dir \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \ && true # -------------------- Installing PHP Extension: soap -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension # Custom: configure command && docker-php-ext-configure soap --with-libxml-dir=/usr \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) soap \ && true # -------------------- Installing PHP Extension: sockets -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sockets \ && true # -------------------- Installing PHP Extension: solr -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install solr \ # Enabling && docker-php-ext-enable solr \ && true # -------------------- Installing PHP Extension: sqlsrv -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install sqlsrv \ # Enabling && docker-php-ext-enable sqlsrv \ && true # -------------------- Installing PHP Extension: ssh2 -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install ssh2-1.2 \ # Enabling && docker-php-ext-enable ssh2 \ && true # -------------------- Installing PHP Extension: swoole -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Custom: Pecl command && yes yes | pecl install swoole \ # Enabling && docker-php-ext-enable swoole \ && true # -------------------- Installing PHP Extension: sysvmsg -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvmsg \ && true # -------------------- Installing PHP Extension: sysvsem -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvsem \ && true # -------------------- Installing PHP Extension: sysvshm -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) sysvshm \ && true # -------------------- Installing PHP Extension: tidy -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) tidy \ && true # -------------------- Installing PHP Extension: uploadprogress -------------------- RUN set -eux \ # Installation: Version specific # Type: GIT extension && git clone https://github.com/php/pecl-php-uploadprogress /tmp/uploadprogress \ && cd /tmp/uploadprogress \ # Default: Install command && phpize \ && ./configure --enable-uploadprogress \ && make -j$(getconf _NPROCESSORS_ONLN) \ && make install \ # Enabling && docker-php-ext-enable uploadprogress \ && true # -------------------- Installing PHP Extension: wddx -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension # Custom: configure command && docker-php-ext-configure wddx --with-libxml-dir=/usr \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) wddx \ && true # -------------------- Installing PHP Extension: xdebug -------------------- RUN set -eux \ # Installation: Generic # Type: PECL extension # Default: Pecl command && pecl install xdebug \ # Enabling && docker-php-ext-enable xdebug \ && true # -------------------- Installing PHP Extension: xmlrpc -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension # Custom: configure command && docker-php-ext-configure xmlrpc --with-libxml-dir=/usr --with-iconv-dir=/usr \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xmlrpc \ && true # -------------------- Installing PHP Extension: xsl -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) xsl \ && true # -------------------- Installing PHP Extension: zip -------------------- RUN set -eux \ # Installation: Generic # Type: Built-in extension # Custom: configure command && docker-php-ext-configure zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip \ && docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \ && true # Fix php.ini settings for enabled extensions RUN set -eux \ && chmod +x "$(php -r 'echo ini_get("extension_dir");')"/* # Fix oracle dir for images that don't have oci installed RUN set -eux \ && mkdir -p /usr/lib/oracle/ # Shrink everything down RUN set -eux \ && (find /usr/local/bin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \ && (find /usr/local/lib -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) \ && (find /usr/local/sbin -type f -print0 | xargs -n1 -0 strip --strip-all -p 2>/dev/null || true) # Auto-generated via Ansible: edit build/ansible/DOCKERFILES/Dockerfile-mods.j2 instead. FROM devilbox/php-fpm:7.2-base as final MAINTAINER "cytopia" ### ### Labels ### # https://github.com/opencontainers/image-spec/blob/master/annotations.md #LABEL "org.opencontainers.image.created"="" #LABEL "org.opencontainers.image.version"="" #LABEL "org.opencontainers.image.revision"="" LABEL "maintainer"="cytopia " LABEL "org.opencontainers.image.authors"="cytopia " LABEL "org.opencontainers.image.url"="https://github.com/devilbox/docker-php-fpm" LABEL "org.opencontainers.image.documentation"="https://github.com/devilbox/docker-php-fpm" LABEL "org.opencontainers.image.source"="https://github.com/devilbox/docker-php-fpm" LABEL "org.opencontainers.image.vendor"="devilbox" LABEL "org.opencontainers.image.licenses"="MIT" LABEL "org.opencontainers.image.ref.name"="7.2-mods" LABEL "org.opencontainers.image.title"="PHP-FPM 7.2-mods" LABEL "org.opencontainers.image.description"="PHP-FPM 7.2-mods" ### ### Copy artifacts from builder ### ARG EXT_DIR COPY --from=builder ${EXT_DIR}/ ${EXT_DIR}/ COPY --from=builder /usr/local/etc/php/conf.d/ /usr/local/etc/php/conf.d/ COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/ ### ### Install ### RUN set -eux \ && DEBIAN_FRONTEND=noninteractive apt-get update -qq \ && DEBIAN_FRONTEND=noninteractive apt-get install -qq -y --no-install-recommends --no-install-suggests \ libaio1 \ libaspell15 \ libc-client2007e \ libenchant1c2a \ libfbclient2 \ libfreetype6 \ libicu63 \ libjpeg62-turbo \ libmagickwand-6.q16-6 \ libmcrypt4 \ libmemcachedutil2 \ libnghttp2-14 \ libpng16-16 \ libpq5 \ librabbitmq4 \ librdkafka1 \ librecode0 \ libssh2-1 \ libsybdb5 \ libtidy5deb1 \ libvpx5 \ libwebp-dev \ libwebp6 \ libxpm4 \ libxslt1.1 \ libzip4 \ snmp \ unixodbc \ ca-certificates \ && rm -rf /var/lib/apt/lists/* \ \ && update-ca-certificates ### ### Post Install ### RUN set -eux \ # ---------- oci8 ---------- && ORACLE_HREF="$( curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/x86_64/ | tac | tac | grep -Eo 'href="getPackage/oracle-instantclient.+basiclite.+rpm"' | tail -1 )" \ && ORACLE_VERSION_MAJOR="$( echo "${ORACLE_HREF}" | grep -Eo 'instantclient[.0-9]+' | sed 's/instantclient//g' )" \ && ORACLE_VERSION_FULL="$( echo "${ORACLE_HREF}" | grep -Eo 'basiclite-[-.0-9]+' | sed -e 's/basiclite-//g' -e 's/\.$//g' )" \ && (ln -sf /usr/lib/oracle/${ORACLE_VERSION_MAJOR}/client64/lib/*.so* /usr/lib/ || true) \ \ && true ### ### Verify ### RUN set -eux \ && echo "date.timezone=UTC" > /usr/local/etc/php/php.ini \ && php -v | grep -oE 'PHP\s[.0-9]+' | grep -oE '[.0-9]+' | grep '^7.2' \ && /usr/local/sbin/php-fpm --test \ \ && PHP_ERROR="$( php -v 2>&1 1>/dev/null )" \ && if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \ && PHP_ERROR="$( php -i 2>&1 1>/dev/null )" \ && if [ -n "${PHP_ERROR}" ]; then echo "${PHP_ERROR}"; false; fi \ \ && PHP_FPM_ERROR="$( php-fpm -v 2>&1 1>/dev/null )" \ && if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \ && PHP_FPM_ERROR="$( php-fpm -i 2>&1 1>/dev/null )" \ && if [ -n "${PHP_FPM_ERROR}" ]; then echo "${PHP_FPM_ERROR}"; false; fi \ && rm -f /usr/local/etc/php/php.ini \ \ && php -m | grep -oiE '^amqp$' \ && php-fpm -m | grep -oiE '^amqp$' \ && php -m | grep -oiE '^apcu$' \ && php-fpm -m | grep -oiE '^apcu$' \ && php -m | grep -oiE '^bcmath$' \ && php-fpm -m | grep -oiE '^bcmath$' \ && php -m | grep -oiE '^bz2$' \ && php-fpm -m | grep -oiE '^bz2$' \ && php -m | grep -oiE '^calendar$' \ && php-fpm -m | grep -oiE '^calendar$' \ && php -m | grep -oiE '^ctype$' \ && php-fpm -m | grep -oiE '^ctype$' \ && php -m | grep -oiE '^curl$' \ && php-fpm -m | grep -oiE '^curl$' \ && php -m | grep -oiE '^dba$' \ && php-fpm -m | grep -oiE '^dba$' \ && php -m | grep -oiE '^dom$' \ && php-fpm -m | grep -oiE '^dom$' \ && php -m | grep -oiE '^enchant$' \ && php-fpm -m | grep -oiE '^enchant$' \ && php -m | grep -oiE '^exif$' \ && php-fpm -m | grep -oiE '^exif$' \ && php -m | grep -oiE '^fileinfo$' \ && php-fpm -m | grep -oiE '^fileinfo$' \ && php -m | grep -oiE '^filter$' \ && php-fpm -m | grep -oiE '^filter$' \ && php -m | grep -oiE '^ftp$' \ && php-fpm -m | grep -oiE '^ftp$' \ && php -m | grep -oiE '^gd$' \ && php-fpm -m | grep -oiE '^gd$' \ && php -m | grep -oiE '^gettext$' \ && php-fpm -m | grep -oiE '^gettext$' \ && php -m | grep -oiE '^gmp$' \ && php-fpm -m | grep -oiE '^gmp$' \ && php -m | grep -oiE '^hash$' \ && php-fpm -m | grep -oiE '^hash$' \ && php -m | grep -oiE '^iconv$' \ && php-fpm -m | grep -oiE '^iconv$' \ && php -m | grep -oiE '^igbinary$' \ && php-fpm -m | grep -oiE '^igbinary$' \ && php -m | grep -oiE '^imagick$' \ && php-fpm -m | grep -oiE '^imagick$' \ && php -m | grep -oiE '^imap$' \ && php-fpm -m | grep -oiE '^imap$' \ && php -m | grep -oiE '^interbase$' \ && php-fpm -m | grep -oiE '^interbase$' \ && php -m | grep -oiE '^intl$' \ && php-fpm -m | grep -oiE '^intl$' \ && php -m | grep -oiE '^json$' \ && php-fpm -m | grep -oiE '^json$' \ && php -m | grep -oiE '^ldap$' \ && php-fpm -m | grep -oiE '^ldap$' \ && php -m | grep -oiE '^libxml$' \ && php-fpm -m | grep -oiE '^libxml$' \ && php -m | grep -oiE '^mbstring$' \ && php-fpm -m | grep -oiE '^mbstring$' \ && php -m | grep -oiE '^mcrypt$' \ && php-fpm -m | grep -oiE '^mcrypt$' \ && php -m | grep -oiE '^msgpack$' \ && php-fpm -m | grep -oiE '^msgpack$' \ && php -m | grep -oiE '^memcache$' \ && php-fpm -m | grep -oiE '^memcache$' \ && php -m | grep -oiE '^memcached$' \ && php-fpm -m | grep -oiE '^memcached$' \ && php -m | grep -oiE '^mongodb$' \ && php-fpm -m | grep -oiE '^mongodb$' \ && php -m | grep -oiE '^mysqli$' \ && php-fpm -m | grep -oiE '^mysqli$' \ && php -m | grep -oiE '^mysqlnd$' \ && php-fpm -m | grep -oiE '^mysqlnd$' \ && php -m | grep -oiE '^oauth$' \ && php-fpm -m | grep -oiE '^oauth$' \ && php -m | grep -oiE '^oci8$' \ && php-fpm -m | grep -oiE '^oci8$' \ && php -m | grep -oiE '^Zend Opcache$' \ && php-fpm -m | grep -oiE '^Zend Opcache$' \ && php -m | grep -oiE '^openssl$' \ && php-fpm -m | grep -oiE '^openssl$' \ && php -m | grep -oiE '^pcntl$' \ && php-fpm -m | grep -oiE '^pcntl$' \ && php -m | grep -oiE '^pcre$' \ && php-fpm -m | grep -oiE '^pcre$' \ && php -m | grep -oiE '^pdo$' \ && php-fpm -m | grep -oiE '^pdo$' \ && php -m | grep -oiE '^pdo_dblib$' \ && php-fpm -m | grep -oiE '^pdo_dblib$' \ && php -m | grep -oiE '^pdo_firebird$' \ && php-fpm -m | grep -oiE '^pdo_firebird$' \ && php -m | grep -oiE '^pdo_mysql$' \ && php-fpm -m | grep -oiE '^pdo_mysql$' \ && php -m | grep -oiE '^pdo_oci$' \ && php-fpm -m | grep -oiE '^pdo_oci$' \ && php -m | grep -oiE '^pdo_pgsql$' \ && php-fpm -m | grep -oiE '^pdo_pgsql$' \ && php -m | grep -oiE '^pdo_sqlite$' \ && php-fpm -m | grep -oiE '^pdo_sqlite$' \ && php -m | grep -oiE '^pdo_sqlsrv$' \ && php-fpm -m | grep -oiE '^pdo_sqlsrv$' \ && php -m | grep -oiE '^pgsql$' \ && php-fpm -m | grep -oiE '^pgsql$' \ && php -m | grep -oiE '^psr$' \ && php-fpm -m | grep -oiE '^psr$' \ && php -m | grep -oiE '^phalcon$' \ && php-fpm -m | grep -oiE '^phalcon$' \ && php -m | grep -oiE '^phar$' \ && php-fpm -m | grep -oiE '^phar$' \ && php -m | grep -oiE '^posix$' \ && php-fpm -m | grep -oiE '^posix$' \ && php -m | grep -oiE '^pspell$' \ && php-fpm -m | grep -oiE '^pspell$' \ && php -m | grep -oiE '^readline$' \ && php -m | grep -oiE '^recode$' \ && php-fpm -m | grep -oiE '^recode$' \ && php -m | grep -oiE '^redis$' \ && php-fpm -m | grep -oiE '^redis$' \ && php -m | grep -oiE '^reflection$' \ && php-fpm -m | grep -oiE '^reflection$' \ && php -m | grep -oiE '^rdkafka$' \ && php-fpm -m | grep -oiE '^rdkafka$' \ && php -m | grep -oiE '^session$' \ && php-fpm -m | grep -oiE '^session$' \ && php -m | grep -oiE '^shmop$' \ && php-fpm -m | grep -oiE '^shmop$' \ && php -m | grep -oiE '^simplexml$' \ && php-fpm -m | grep -oiE '^simplexml$' \ && php -m | grep -oiE '^snmp$' \ && php-fpm -m | grep -oiE '^snmp$' \ && php -m | grep -oiE '^soap$' \ && php-fpm -m | grep -oiE '^soap$' \ && php -m | grep -oiE '^sockets$' \ && php-fpm -m | grep -oiE '^sockets$' \ && php -m | grep -oiE '^sodium$' \ && php-fpm -m | grep -oiE '^sodium$' \ && php -m | grep -oiE '^solr$' \ && php-fpm -m | grep -oiE '^solr$' \ && php -m | grep -oiE '^spl$' \ && php-fpm -m | grep -oiE '^spl$' \ && php -m | grep -oiE '^sqlsrv$' \ && php-fpm -m | grep -oiE '^sqlsrv$' \ && php -m | grep -oiE '^ssh2$' \ && php-fpm -m | grep -oiE '^ssh2$' \ && php -m | grep -oiE '^swoole$' \ && php-fpm -m | grep -oiE '^swoole$' \ && php -m | grep -oiE '^sysvmsg$' \ && php-fpm -m | grep -oiE '^sysvmsg$' \ && php -m | grep -oiE '^sysvsem$' \ && php-fpm -m | grep -oiE '^sysvsem$' \ && php -m | grep -oiE '^sysvshm$' \ && php-fpm -m | grep -oiE '^sysvshm$' \ && php -m | grep -oiE '^tidy$' \ && php-fpm -m | grep -oiE '^tidy$' \ && php -m | grep -oiE '^tokenizer$' \ && php-fpm -m | grep -oiE '^tokenizer$' \ && php -m | grep -oiE '^uploadprogress$' \ && php-fpm -m | grep -oiE '^uploadprogress$' \ && php -m | grep -oiE '^wddx$' \ && php-fpm -m | grep -oiE '^wddx$' \ && php -m | grep -oiE '^xdebug$' \ && php-fpm -m | grep -oiE '^xdebug$' \ && php -m | grep -oiE '^xml$' \ && php-fpm -m | grep -oiE '^xml$' \ && php -m | grep -oiE '^xmlreader$' \ && php-fpm -m | grep -oiE '^xmlreader$' \ && php -m | grep -oiE '^xmlrpc$' \ && php-fpm -m | grep -oiE '^xmlrpc$' \ && php -m | grep -oiE '^xmlwriter$' \ && php-fpm -m | grep -oiE '^xmlwriter$' \ && php -m | grep -oiE '^xsl$' \ && php-fpm -m | grep -oiE '^xsl$' \ && php -m | grep -oiE '^zip$' \ && php-fpm -m | grep -oiE '^zip$' \ && true ### ### Ports ### EXPOSE 9000 ### ### Entrypoint ### CMD ["/usr/local/sbin/php-fpm"] ENTRYPOINT ["/docker-entrypoint.sh"]