mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-10 11:01:14 +00:00
1267 lines
40 KiB
Docker
1267 lines
40 KiB
Docker
# vi: ft=dockerfile
|
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
|
FROM devilbox/php-fpm:7.3-base as builder
|
|
|
|
|
|
###
|
|
### Install
|
|
###
|
|
RUN set -eux \
|
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
|
alien \
|
|
firebird-dev \
|
|
freetds-dev \
|
|
ghostscript \
|
|
libaio-dev \
|
|
libbz2-dev \
|
|
libc-ares-dev \
|
|
libc-client-dev \
|
|
libcurl4-openssl-dev \
|
|
libevent-dev \
|
|
libfbclient2 \
|
|
libfreetype6-dev \
|
|
libgmp-dev \
|
|
libib-util \
|
|
libicu-dev \
|
|
libjpeg-dev \
|
|
libkrb5-dev \
|
|
libldap2-dev \
|
|
liblz4-dev \
|
|
liblzf-dev \
|
|
libmagickwand-dev \
|
|
libmariadb-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 \
|
|
libvips-dev \
|
|
libvips42 \
|
|
libvpx-dev \
|
|
libwebp-dev \
|
|
libxml2-dev \
|
|
libxpm-dev \
|
|
libxslt-dev \
|
|
libyaml-dev \
|
|
libzip-dev \
|
|
libzstd-dev \
|
|
re2c \
|
|
snmp \
|
|
unixodbc-dev \
|
|
uuid-dev \
|
|
zlib1g-dev \
|
|
# Build tools
|
|
autoconf \
|
|
bison \
|
|
bisonc++ \
|
|
ca-certificates \
|
|
curl \
|
|
dpkg-dev \
|
|
file \
|
|
flex \
|
|
g++ \
|
|
gcc \
|
|
git \
|
|
lemon \
|
|
libc-client-dev \
|
|
libc-dev \
|
|
libcurl4-openssl-dev \
|
|
libssl-dev \
|
|
make \
|
|
patch \
|
|
pkg-config \
|
|
re2c \
|
|
xz-utils \
|
|
&& rm -rf /var/lib/apt/lists/*
|
|
|
|
|
|
# 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: 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: 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/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/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 \
|
|
# 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/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/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 \
|
|
# Generic post-command
|
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
|
\
|
|
&& true
|
|
|
|
|
|
# -------------------- Installing PHP Extension: imap --------------------
|
|
RUN set -eux \
|
|
# Generic pre-command
|
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/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: 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 -sS --fail -k https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_$(dpkg-architecture --query DEB_HOST_GNU_CPU | sed 's/_/-/g').tar.gz -L -o ioncube.tar.gz \
|
|
&& tar xvfz ioncube.tar.gz \
|
|
&& cd ioncube \
|
|
&& cp "ioncube_loader_lin_7.3.so" "${EXTENSION_DIR}/ioncube.so" \
|
|
&& cd ../ \
|
|
&& rm -rf ioncube \
|
|
&& rm -rf ioncube.tar.gz \
|
|
\
|
|
&& true
|
|
|
|
|
|
# -------------------- Installing PHP Extension: ldap --------------------
|
|
RUN set -eux \
|
|
# Generic pre-command
|
|
&& ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/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: lz4 --------------------
|
|
RUN set -eux \
|
|
# Installation: Generic
|
|
# Type: GIT extension
|
|
&& git clone https://github.com/kjdev/php-ext-lz4 /tmp/lz4 \
|
|
&& cd /tmp/lz4 \
|
|
# Custom: Branch
|
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
|
# Default: Install command
|
|
&& phpize \
|
|
&& ./configure --enable-lz4 --with-lz4-includedir=/usr \
|
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
&& make install \
|
|
# Enabling
|
|
&& docker-php-ext-enable lz4 \
|
|
&& true
|
|
|
|
|
|
# -------------------- Installing PHP Extension: lzf --------------------
|
|
RUN set -eux \
|
|
# Installation: Generic
|
|
# Type: PECL extension
|
|
# Default: Pecl command
|
|
&& pecl install lzf \
|
|
# Enabling
|
|
&& docker-php-ext-enable lzf \
|
|
&& true
|
|
|
|
|
|
# -------------------- Installing PHP Extension: mcrypt --------------------
|
|
RUN set -eux \
|
|
# Installation: Version specific
|
|
# Type: PECL extension
|
|
# Default: Pecl command
|
|
&& pecl install mcrypt-1.0.2 \
|
|
# Enabling
|
|
&& docker-php-ext-enable mcrypt \
|
|
&& true
|
|
|
|
|
|
# -------------------- Installing PHP Extension: memcache --------------------
|
|
RUN set -eux \
|
|
# Installation: Version specific
|
|
# Type: PECL extension
|
|
# Default: Pecl command
|
|
&& pecl install memcache-4.0.5.2 \
|
|
# Enabling
|
|
&& docker-php-ext-enable memcache \
|
|
&& 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: memcached --------------------
|
|
RUN set -eux \
|
|
# Installation: Generic
|
|
# Type: PECL extension
|
|
# Custom: Pecl command
|
|
&& printf "\n\n\nyes\nyes\nyes\n" | 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
|
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
|
&& ORACLE_HREF="$( \
|
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
|
| 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 -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
|
&& alien \
|
|
-v \
|
|
--target=$( dpkg --print-architecture ) \
|
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
|
&& alien \
|
|
-v \
|
|
--target=$( dpkg --print-architecture ) \
|
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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
|
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
|
&& ORACLE_HREF="$( \
|
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
|
| 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/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/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
|
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
|
&& ORACLE_HREF="$( \
|
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
|
| 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 -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
|
&& curl -sS -o /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
|
https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/getPackage/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
|
&& alien \
|
|
-v \
|
|
--target=$( dpkg --print-architecture ) \
|
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
|
&& alien \
|
|
-v \
|
|
--target=$( dpkg --print-architecture ) \
|
|
-i /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-basiclite-${ORACLE_VERSION_FULL}.${ARCH}.rpm \
|
|
&& rm -f /tmp/oracle-instantclient${ORACLE_VERSION_MAJOR}-devel-${ORACLE_VERSION_FULL}.${ARCH}.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: Version specific
|
|
# Type: PECL extension
|
|
# Default: Pecl command
|
|
&& pecl install pdo_sqlsrv-5.9.0 \
|
|
# 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: zstd --------------------
|
|
RUN set -eux \
|
|
# Installation: Generic
|
|
# Type: GIT extension
|
|
&& git clone https://github.com/kjdev/php-ext-zstd /tmp/zstd \
|
|
&& cd /tmp/zstd \
|
|
# Custom: Branch
|
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
|
# Default: Install command
|
|
&& phpize \
|
|
&& ./configure --enable-zstd --with-libzstd \
|
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
&& make install \
|
|
# Enabling
|
|
&& docker-php-ext-enable zstd \
|
|
&& true
|
|
|
|
|
|
# -------------------- Installing PHP Extension: redis --------------------
|
|
RUN set -eux \
|
|
# Generic pre-command
|
|
&& if [ -f /usr/include/liblzf/lzf.h ]; then \
|
|
ln -s /usr/include/liblzf/lzf.h /usr/include/; \
|
|
fi \
|
|
\
|
|
# Installation: Generic
|
|
# Type: GIT extension
|
|
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
|
|
&& cd /tmp/redis \
|
|
# Custom: Branch
|
|
&& git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
|
|
# Custom: Install command
|
|
&& REDIS_ARGS=""; \
|
|
if php -m | grep -q "igbinary"; then \
|
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
|
|
fi; \
|
|
if php -m | grep -q "lz4"; then \
|
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
|
|
fi; \
|
|
if php -m | grep -q "lzf"; then \
|
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-lzf --with-liblzf=/usr"; \
|
|
fi; \
|
|
if php -m | grep -q "msgpack"; then \
|
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
|
|
fi; \
|
|
if php -m | grep -q "zstd"; then \
|
|
REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
|
|
fi; \
|
|
phpize \
|
|
&& ./configure --enable-redis ${REDIS_ARGS} \
|
|
&& make -j$(getconf _NPROCESSORS_ONLN) \
|
|
&& make install \
|
|
\
|
|
# Enabling
|
|
&& docker-php-ext-enable redis \
|
|
&& true
|
|
|
|
|
|
# -------------------- Installing PHP Extension: sqlsrv --------------------
|
|
RUN set -eux \
|
|
# Installation: Version specific
|
|
# Type: PECL extension
|
|
# Default: Pecl command
|
|
&& pecl install sqlsrv-5.9.0 \
|
|
# Enabling
|
|
&& docker-php-ext-enable sqlsrv \
|
|
&& true
|
|
|
|
|
|
# -------------------- Installing PHP Extension: phalcon --------------------
|
|
RUN set -eux \
|
|
# Installation: Version specific
|
|
# Type: GIT extension
|
|
&& git clone https://github.com/phalcon/cphalcon /tmp/phalcon \
|
|
&& cd /tmp/phalcon \
|
|
# Custom: Branch
|
|
&& git checkout v4.1.2 \
|
|
# 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: 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: recode --------------------
|
|
RUN set -eux \
|
|
# Installation: Generic
|
|
# Type: Built-in extension
|
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) recode \
|
|
&& 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-snmp \
|
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) snmp \
|
|
&& true
|
|
|
|
|
|
# -------------------- Installing PHP Extension: soap --------------------
|
|
RUN set -eux \
|
|
# Installation: Generic
|
|
# Type: Built-in extension
|
|
&& 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: 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: zip --------------------
|
|
RUN set -eux \
|
|
# Installation: Version specific
|
|
# Type: Built-in extension
|
|
# Custom: configure command
|
|
&& docker-php-ext-configure zip --enable-zip --with-zlib-dir=/usr --with-pcre-dir=/usr --with-libzip=/usr \
|
|
# Installation
|
|
&& docker-php-ext-install -j$(getconf _NPROCESSORS_ONLN) zip \
|
|
&& true
|
|
|
|
|
|
# -------------------- Installing PHP Extension: swoole --------------------
|
|
RUN set -eux \
|
|
# Installation: Version specific
|
|
# Type: PECL extension
|
|
# Default: Pecl command
|
|
&& pecl install swoole-4.8.12 \
|
|
# 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: Generic
|
|
# Type: PECL extension
|
|
# Default: Pecl command
|
|
&& pecl install uploadprogress \
|
|
# Enabling
|
|
&& docker-php-ext-enable uploadprogress \
|
|
&& true
|
|
|
|
|
|
# -------------------- Installing PHP Extension: uuid --------------------
|
|
RUN set -eux \
|
|
# Installation: Generic
|
|
# Type: PECL extension
|
|
# Default: Pecl command
|
|
&& pecl install uuid \
|
|
# Enabling
|
|
&& docker-php-ext-enable uuid \
|
|
&& true
|
|
|
|
|
|
# -------------------- Installing PHP Extension: vips --------------------
|
|
RUN set -eux \
|
|
# Installation: Generic
|
|
# Type: PECL extension
|
|
# Default: Pecl command
|
|
&& pecl install vips \
|
|
# Enabling
|
|
&& docker-php-ext-enable vips \
|
|
&& 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: Version specific
|
|
# Type: PECL extension
|
|
# Default: Pecl command
|
|
&& pecl install xdebug-3.1.6 \
|
|
# Enabling
|
|
&& docker-php-ext-enable xdebug \
|
|
&& true
|
|
|
|
|
|
# -------------------- Installing PHP Extension: xhprof --------------------
|
|
RUN set -eux \
|
|
# Installation: Generic
|
|
# Type: PECL extension
|
|
# Default: Pecl command
|
|
&& pecl install xhprof \
|
|
# Enabling
|
|
&& docker-php-ext-enable xhprof \
|
|
&& true
|
|
|
|
|
|
# -------------------- Installing PHP Extension: xlswriter --------------------
|
|
RUN set -eux \
|
|
# Installation: Generic
|
|
# Type: PECL extension
|
|
# Default: Pecl command
|
|
&& pecl install xlswriter \
|
|
# Enabling
|
|
&& docker-php-ext-enable xlswriter \
|
|
&& 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: yaml --------------------
|
|
RUN set -eux \
|
|
# Installation: Generic
|
|
# Type: PECL extension
|
|
# Default: Pecl command
|
|
&& pecl install yaml \
|
|
# Enabling
|
|
&& docker-php-ext-enable yaml \
|
|
&& true
|
|
|
|
|
|
|
|
|
|
# Fix php.ini settings for enabled extensions
|
|
RUN set -eux \
|
|
&& find "$(php -r 'echo ini_get("extension_dir");')/" -type f -exec chmod +x {} \;
|
|
|
|
# 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 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
|
&& (find /usr/local/lib -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true) \
|
|
&& (find /usr/local/sbin -type f -print0 | xargs -n1 -0 -P$(getconf _NPROCESSORS_ONLN) strip --strip-all -p 2>/dev/null || true)
|
|
|
|
|
|
|
|
# Auto-generated via Ansible: edit ./ansible/DOCKERFILES/Dockerfile-mods.j2 instead.
|
|
FROM devilbox/php-fpm:7.3-base as final
|
|
MAINTAINER "cytopia" <cytopia@everythingcli.org>
|
|
|
|
###
|
|
### 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 <cytopia@everythingcli.org>"
|
|
LABEL "org.opencontainers.image.authors"="cytopia <cytopia@everythingcli.org>"
|
|
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.3-mods"
|
|
LABEL "org.opencontainers.image.title"="PHP-FPM 7.3-mods"
|
|
LABEL "org.opencontainers.image.description"="PHP-FPM 7.3-mods"
|
|
|
|
|
|
###
|
|
### Install runtime libraries
|
|
###
|
|
RUN set -eux \
|
|
&& DEBIAN_FRONTEND=noninteractive apt-get update \
|
|
&& DEBIAN_FRONTEND=noninteractive apt-get install -y --no-install-recommends --no-install-suggests \
|
|
ghostscript \
|
|
libaio1 \
|
|
libaspell15 \
|
|
libc-ares2 \
|
|
libc-client2007e \
|
|
libevent-2.1-7 \
|
|
libfbclient2 \
|
|
libfreetype6 \
|
|
libicu67 \
|
|
libjpeg62-turbo \
|
|
liblz4-1 \
|
|
liblzf1 \
|
|
libmagickwand-6.q16-6 \
|
|
libmariadbd19 \
|
|
libmcrypt4 \
|
|
libmemcachedutil2 \
|
|
libnghttp2-14 \
|
|
libpng16-16 \
|
|
libpq5 \
|
|
librabbitmq4 \
|
|
librdkafka1 \
|
|
librecode0 \
|
|
libssh2-1 \
|
|
libsybdb5 \
|
|
libtidy5deb1 \
|
|
libvips42 \
|
|
libvpx6 \
|
|
libwebp6 \
|
|
libxpm4 \
|
|
libxslt1.1 \
|
|
libyaml-0-2 \
|
|
libzip4 \
|
|
libzstd1 \
|
|
snmp \
|
|
unixodbc \
|
|
uuid \
|
|
zlib1g \
|
|
ca-certificates \
|
|
&& rm -rf /var/lib/apt/lists/* \
|
|
\
|
|
&& update-ca-certificates
|
|
|
|
|
|
###
|
|
### 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/local/bin/ /usr/local/bin/
|
|
COPY --from=builder /usr/local/lib/ /usr/local/lib/
|
|
COPY --from=builder /usr/lib/oracle/ /usr/lib/oracle/
|
|
|
|
|
|
###
|
|
### Post Install executions
|
|
###
|
|
RUN set -eux \
|
|
# ---------- imagick ----------
|
|
&& sed -i'' 's|.*"thread".*| <policy domain="resource" name="thread" value="1"/>|g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="coder".*"PS2".*||g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="coder".*"PS3".*||g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="coder".*"EPS".*||g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="coder".*"PDF".*||g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="coder".*"XPS".*||g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="coder".*"PS".*||g' /etc/ImageMagick-6/policy.xml \
|
|
&& sed -i'' 's|.*<policy domain="delegate".*pattern="gs".*||g' /etc/ImageMagick-6/policy.xml \
|
|
\
|
|
# ---------- oci8 ----------
|
|
&& ARCH="$(dpkg-architecture --query DEB_HOST_GNU_CPU)" \
|
|
&& ORACLE_HREF="$( \
|
|
curl -sS https://yum.oracle.com/repo/OracleLinux/OL7/oracle/instantclient/${ARCH}/ \
|
|
| 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.3' \
|
|
&& /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 '^date$' \
|
|
&& php-fpm -m | grep -oiE '^date$' \
|
|
&& php -m | grep -oiE '^dba$' \
|
|
&& php-fpm -m | grep -oiE '^dba$' \
|
|
&& php -m | grep -oiE '^libxml$' \
|
|
&& php-fpm -m | grep -oiE '^libxml$' \
|
|
&& php -m | grep -oiE '^dom$' \
|
|
&& php-fpm -m | grep -oiE '^dom$' \
|
|
&& php -m | grep -oiE '^mbstring$' \
|
|
&& php-fpm -m | grep -oiE '^mbstring$' \
|
|
&& 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 '^lz4$' \
|
|
&& php-fpm -m | grep -oiE '^lz4$' \
|
|
&& php -m | grep -oiE '^lzf$' \
|
|
&& php-fpm -m | grep -oiE '^lzf$' \
|
|
&& php -m | grep -oiE '^mcrypt$' \
|
|
&& php-fpm -m | grep -oiE '^mcrypt$' \
|
|
&& php -m | grep -oiE '^memcache$' \
|
|
&& php-fpm -m | grep -oiE '^memcache$' \
|
|
&& php -m | grep -oiE '^msgpack$' \
|
|
&& php-fpm -m | grep -oiE '^msgpack$' \
|
|
&& 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 '^pcre$' \
|
|
&& php-fpm -m | grep -oiE '^pcre$' \
|
|
&& 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 '^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 '^zstd$' \
|
|
&& php-fpm -m | grep -oiE '^zstd$' \
|
|
&& php -m | grep -oiE '^redis$' \
|
|
&& php-fpm -m | grep -oiE '^redis$' \
|
|
&& php -m | grep -oiE '^sqlite3$' \
|
|
&& php-fpm -m | grep -oiE '^sqlite3$' \
|
|
&& php -m | grep -oiE '^sqlsrv$' \
|
|
&& php-fpm -m | grep -oiE '^sqlsrv$' \
|
|
&& 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 '^rdkafka$' \
|
|
&& php-fpm -m | grep -oiE '^rdkafka$' \
|
|
&& php -m | grep -oiE '^readline$' \
|
|
&& php -m | grep -oiE '^recode$' \
|
|
&& php-fpm -m | grep -oiE '^recode$' \
|
|
&& php -m | grep -oiE '^reflection$' \
|
|
&& php-fpm -m | grep -oiE '^reflection$' \
|
|
&& 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 '^ssh2$' \
|
|
&& php-fpm -m | grep -oiE '^ssh2$' \
|
|
&& php -m | grep -oiE '^xml$' \
|
|
&& php-fpm -m | grep -oiE '^xml$' \
|
|
&& php -m | grep -oiE '^zip$' \
|
|
&& php-fpm -m | grep -oiE '^zip$' \
|
|
&& 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 '^uuid$' \
|
|
&& php-fpm -m | grep -oiE '^uuid$' \
|
|
&& php -m | grep -oiE '^vips$' \
|
|
&& php-fpm -m | grep -oiE '^vips$' \
|
|
&& 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 '^xhprof$' \
|
|
&& php-fpm -m | grep -oiE '^xhprof$' \
|
|
&& php -m | grep -oiE '^xlswriter$' \
|
|
&& php-fpm -m | grep -oiE '^xlswriter$' \
|
|
&& 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 '^yaml$' \
|
|
&& php-fpm -m | grep -oiE '^yaml$' \
|
|
&& php -m | grep -oiE '^zlib$' \
|
|
&& php-fpm -m | grep -oiE '^zlib$' \
|
|
&& true
|
|
|
|
|
|
# Deactivate PSR and Phalcon:
|
|
# https://github.com/devilbox/docker-php-fpm/issues/201
|
|
# Deactivate xhprof (might collide with Xdebug)
|
|
RUN set -eux \
|
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-phalcon.ini || true \
|
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-psr.ini || true \
|
|
&& rm -f /usr/local/etc/php/conf.d/docker-php-ext-xhprof.ini || true \
|
|
|
|
|
|
###
|
|
### Ports
|
|
###
|
|
EXPOSE 9000
|
|
|
|
|
|
###
|
|
### Entrypoint
|
|
###
|
|
CMD ["/usr/local/sbin/php-fpm"]
|
|
ENTRYPOINT ["/docker-entrypoint.sh"]
|