diff --git a/5.5/Dockerfile b/5.5/Dockerfile index a23c5e78..a1502ad2 100644 --- a/5.5/Dockerfile +++ b/5.5/Dockerfile @@ -39,7 +39,7 @@ ENV PHP_FILENAME php-5.5.38.tar.xz ENV PHP_SHA256 cb527c44b48343c8557fe2446464ff1d4695155a95601083e5d1f175df95580f RUN set -xe \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -62,27 +62,35 @@ RUN set -xe \ libxml2-dev \ " \ && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(nproc)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; } \ && make clean \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps \ - && docker-php-source delete + && docker-php-source delete \ + \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps COPY docker-php-ext-* /usr/local/bin/ diff --git a/5.5/alpine/Dockerfile b/5.5/alpine/Dockerfile index bfc7ae12..b249e251 100644 --- a/5.5/alpine/Dockerfile +++ b/5.5/alpine/Dockerfile @@ -47,7 +47,7 @@ RUN set -xe \ && apk add --no-cache --virtual .fetch-deps \ gnupg \ && mkdir -p /usr/src \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -69,25 +69,34 @@ RUN set -xe \ libxml2-dev \ openssl-dev \ sqlite-dev \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(getconf _NPROCESSORS_ONLN)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -perm +0111 -exec strip --strip-all '{}' + || true; } \ && make clean \ + && docker-php-source delete \ + \ && runDeps="$( \ scanelf --needed --nobanner --recursive /usr/local \ | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ @@ -96,8 +105,8 @@ RUN set -xe \ | sort -u \ )" \ && apk add --no-cache --virtual .php-rundeps $runDeps \ - && apk del .build-deps \ - && docker-php-source delete + \ + && apk del .build-deps COPY docker-php-ext-* /usr/local/bin/ diff --git a/5.5/apache/Dockerfile b/5.5/apache/Dockerfile index 8d187728..ec770752 100644 --- a/5.5/apache/Dockerfile +++ b/5.5/apache/Dockerfile @@ -95,7 +95,7 @@ ENV PHP_FILENAME php-5.5.38.tar.xz ENV PHP_SHA256 cb527c44b48343c8557fe2446464ff1d4695155a95601083e5d1f175df95580f RUN set -xe \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -118,27 +118,35 @@ RUN set -xe \ libxml2-dev \ " \ && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(nproc)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; } \ && make clean \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps \ - && docker-php-source delete + && docker-php-source delete \ + \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps COPY docker-php-ext-* /usr/local/bin/ diff --git a/5.5/fpm/Dockerfile b/5.5/fpm/Dockerfile index 40d3e322..b07eed1e 100644 --- a/5.5/fpm/Dockerfile +++ b/5.5/fpm/Dockerfile @@ -40,7 +40,7 @@ ENV PHP_FILENAME php-5.5.38.tar.xz ENV PHP_SHA256 cb527c44b48343c8557fe2446464ff1d4695155a95601083e5d1f175df95580f RUN set -xe \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -63,27 +63,35 @@ RUN set -xe \ libxml2-dev \ " \ && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(nproc)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; } \ && make clean \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps \ - && docker-php-source delete + && docker-php-source delete \ + \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps COPY docker-php-ext-* /usr/local/bin/ diff --git a/5.5/fpm/alpine/Dockerfile b/5.5/fpm/alpine/Dockerfile index 650a8302..9901f870 100644 --- a/5.5/fpm/alpine/Dockerfile +++ b/5.5/fpm/alpine/Dockerfile @@ -48,7 +48,7 @@ RUN set -xe \ && apk add --no-cache --virtual .fetch-deps \ gnupg \ && mkdir -p /usr/src \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -70,25 +70,34 @@ RUN set -xe \ libxml2-dev \ openssl-dev \ sqlite-dev \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(getconf _NPROCESSORS_ONLN)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -perm +0111 -exec strip --strip-all '{}' + || true; } \ && make clean \ + && docker-php-source delete \ + \ && runDeps="$( \ scanelf --needed --nobanner --recursive /usr/local \ | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ @@ -97,8 +106,8 @@ RUN set -xe \ | sort -u \ )" \ && apk add --no-cache --virtual .php-rundeps $runDeps \ - && apk del .build-deps \ - && docker-php-source delete + \ + && apk del .build-deps COPY docker-php-ext-* /usr/local/bin/ diff --git a/5.5/zts/Dockerfile b/5.5/zts/Dockerfile index 4b72b0c4..85ad238c 100644 --- a/5.5/zts/Dockerfile +++ b/5.5/zts/Dockerfile @@ -40,7 +40,7 @@ ENV PHP_FILENAME php-5.5.38.tar.xz ENV PHP_SHA256 cb527c44b48343c8557fe2446464ff1d4695155a95601083e5d1f175df95580f RUN set -xe \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -63,27 +63,35 @@ RUN set -xe \ libxml2-dev \ " \ && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(nproc)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; } \ && make clean \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps \ - && docker-php-source delete + && docker-php-source delete \ + \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps COPY docker-php-ext-* /usr/local/bin/ diff --git a/5.5/zts/alpine/Dockerfile b/5.5/zts/alpine/Dockerfile index 1c649e2a..57fe55e0 100644 --- a/5.5/zts/alpine/Dockerfile +++ b/5.5/zts/alpine/Dockerfile @@ -48,7 +48,7 @@ RUN set -xe \ && apk add --no-cache --virtual .fetch-deps \ gnupg \ && mkdir -p /usr/src \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -70,25 +70,34 @@ RUN set -xe \ libxml2-dev \ openssl-dev \ sqlite-dev \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(getconf _NPROCESSORS_ONLN)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -perm +0111 -exec strip --strip-all '{}' + || true; } \ && make clean \ + && docker-php-source delete \ + \ && runDeps="$( \ scanelf --needed --nobanner --recursive /usr/local \ | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ @@ -97,8 +106,8 @@ RUN set -xe \ | sort -u \ )" \ && apk add --no-cache --virtual .php-rundeps $runDeps \ - && apk del .build-deps \ - && docker-php-source delete + \ + && apk del .build-deps COPY docker-php-ext-* /usr/local/bin/ diff --git a/5.6/Dockerfile b/5.6/Dockerfile index 3f1bd7bc..ad0eb2f5 100644 --- a/5.6/Dockerfile +++ b/5.6/Dockerfile @@ -39,7 +39,7 @@ ENV PHP_FILENAME php-5.6.24.tar.xz ENV PHP_SHA256 ed7c38c6dac539ade62e08118258f4dac0c49beca04d8603bee4e0ea6ca8250b RUN set -xe \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -62,27 +62,35 @@ RUN set -xe \ libxml2-dev \ " \ && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(nproc)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; } \ && make clean \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps \ - && docker-php-source delete + && docker-php-source delete \ + \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps COPY docker-php-ext-* /usr/local/bin/ diff --git a/5.6/alpine/Dockerfile b/5.6/alpine/Dockerfile index fb36fbba..cfb3deee 100644 --- a/5.6/alpine/Dockerfile +++ b/5.6/alpine/Dockerfile @@ -47,7 +47,7 @@ RUN set -xe \ && apk add --no-cache --virtual .fetch-deps \ gnupg \ && mkdir -p /usr/src \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -69,25 +69,34 @@ RUN set -xe \ libxml2-dev \ openssl-dev \ sqlite-dev \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(getconf _NPROCESSORS_ONLN)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -perm +0111 -exec strip --strip-all '{}' + || true; } \ && make clean \ + && docker-php-source delete \ + \ && runDeps="$( \ scanelf --needed --nobanner --recursive /usr/local \ | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ @@ -96,8 +105,8 @@ RUN set -xe \ | sort -u \ )" \ && apk add --no-cache --virtual .php-rundeps $runDeps \ - && apk del .build-deps \ - && docker-php-source delete + \ + && apk del .build-deps COPY docker-php-ext-* /usr/local/bin/ diff --git a/5.6/apache/Dockerfile b/5.6/apache/Dockerfile index c5b50c5e..3c1ab6ba 100644 --- a/5.6/apache/Dockerfile +++ b/5.6/apache/Dockerfile @@ -95,7 +95,7 @@ ENV PHP_FILENAME php-5.6.24.tar.xz ENV PHP_SHA256 ed7c38c6dac539ade62e08118258f4dac0c49beca04d8603bee4e0ea6ca8250b RUN set -xe \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -118,27 +118,35 @@ RUN set -xe \ libxml2-dev \ " \ && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(nproc)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; } \ && make clean \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps \ - && docker-php-source delete + && docker-php-source delete \ + \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps COPY docker-php-ext-* /usr/local/bin/ diff --git a/5.6/fpm/Dockerfile b/5.6/fpm/Dockerfile index a6fc1787..8bcd158d 100644 --- a/5.6/fpm/Dockerfile +++ b/5.6/fpm/Dockerfile @@ -40,7 +40,7 @@ ENV PHP_FILENAME php-5.6.24.tar.xz ENV PHP_SHA256 ed7c38c6dac539ade62e08118258f4dac0c49beca04d8603bee4e0ea6ca8250b RUN set -xe \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -63,27 +63,35 @@ RUN set -xe \ libxml2-dev \ " \ && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(nproc)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; } \ && make clean \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps \ - && docker-php-source delete + && docker-php-source delete \ + \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps COPY docker-php-ext-* /usr/local/bin/ diff --git a/5.6/fpm/alpine/Dockerfile b/5.6/fpm/alpine/Dockerfile index 6e53331c..bce6ae03 100644 --- a/5.6/fpm/alpine/Dockerfile +++ b/5.6/fpm/alpine/Dockerfile @@ -48,7 +48,7 @@ RUN set -xe \ && apk add --no-cache --virtual .fetch-deps \ gnupg \ && mkdir -p /usr/src \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -70,25 +70,34 @@ RUN set -xe \ libxml2-dev \ openssl-dev \ sqlite-dev \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(getconf _NPROCESSORS_ONLN)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -perm +0111 -exec strip --strip-all '{}' + || true; } \ && make clean \ + && docker-php-source delete \ + \ && runDeps="$( \ scanelf --needed --nobanner --recursive /usr/local \ | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ @@ -97,8 +106,8 @@ RUN set -xe \ | sort -u \ )" \ && apk add --no-cache --virtual .php-rundeps $runDeps \ - && apk del .build-deps \ - && docker-php-source delete + \ + && apk del .build-deps COPY docker-php-ext-* /usr/local/bin/ diff --git a/5.6/zts/Dockerfile b/5.6/zts/Dockerfile index eebd731f..b5d44cd6 100644 --- a/5.6/zts/Dockerfile +++ b/5.6/zts/Dockerfile @@ -40,7 +40,7 @@ ENV PHP_FILENAME php-5.6.24.tar.xz ENV PHP_SHA256 ed7c38c6dac539ade62e08118258f4dac0c49beca04d8603bee4e0ea6ca8250b RUN set -xe \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -63,27 +63,35 @@ RUN set -xe \ libxml2-dev \ " \ && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(nproc)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; } \ && make clean \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps \ - && docker-php-source delete + && docker-php-source delete \ + \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps COPY docker-php-ext-* /usr/local/bin/ diff --git a/5.6/zts/alpine/Dockerfile b/5.6/zts/alpine/Dockerfile index f8709c08..2a683a00 100644 --- a/5.6/zts/alpine/Dockerfile +++ b/5.6/zts/alpine/Dockerfile @@ -48,7 +48,7 @@ RUN set -xe \ && apk add --no-cache --virtual .fetch-deps \ gnupg \ && mkdir -p /usr/src \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -70,25 +70,34 @@ RUN set -xe \ libxml2-dev \ openssl-dev \ sqlite-dev \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(getconf _NPROCESSORS_ONLN)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -perm +0111 -exec strip --strip-all '{}' + || true; } \ && make clean \ + && docker-php-source delete \ + \ && runDeps="$( \ scanelf --needed --nobanner --recursive /usr/local \ | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ @@ -97,8 +106,8 @@ RUN set -xe \ | sort -u \ )" \ && apk add --no-cache --virtual .php-rundeps $runDeps \ - && apk del .build-deps \ - && docker-php-source delete + \ + && apk del .build-deps COPY docker-php-ext-* /usr/local/bin/ diff --git a/7.0/Dockerfile b/7.0/Dockerfile index 766d24a0..d859fc55 100644 --- a/7.0/Dockerfile +++ b/7.0/Dockerfile @@ -39,7 +39,7 @@ ENV PHP_FILENAME php-7.0.9.tar.xz ENV PHP_SHA256 970c322ba3e472cb0264b8ba9d4d92e87918da5d0cca53c4aba2a70545b8626d RUN set -xe \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -62,27 +62,35 @@ RUN set -xe \ libxml2-dev \ " \ && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(nproc)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; } \ && make clean \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps \ - && docker-php-source delete + && docker-php-source delete \ + \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps COPY docker-php-ext-* /usr/local/bin/ diff --git a/7.0/alpine/Dockerfile b/7.0/alpine/Dockerfile index 5fc91c76..2a884734 100644 --- a/7.0/alpine/Dockerfile +++ b/7.0/alpine/Dockerfile @@ -47,7 +47,7 @@ RUN set -xe \ && apk add --no-cache --virtual .fetch-deps \ gnupg \ && mkdir -p /usr/src \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -69,25 +69,34 @@ RUN set -xe \ libxml2-dev \ openssl-dev \ sqlite-dev \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(getconf _NPROCESSORS_ONLN)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -perm +0111 -exec strip --strip-all '{}' + || true; } \ && make clean \ + && docker-php-source delete \ + \ && runDeps="$( \ scanelf --needed --nobanner --recursive /usr/local \ | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ @@ -96,8 +105,8 @@ RUN set -xe \ | sort -u \ )" \ && apk add --no-cache --virtual .php-rundeps $runDeps \ - && apk del .build-deps \ - && docker-php-source delete + \ + && apk del .build-deps COPY docker-php-ext-* /usr/local/bin/ diff --git a/7.0/apache/Dockerfile b/7.0/apache/Dockerfile index 98f21e22..f78b1816 100644 --- a/7.0/apache/Dockerfile +++ b/7.0/apache/Dockerfile @@ -95,7 +95,7 @@ ENV PHP_FILENAME php-7.0.9.tar.xz ENV PHP_SHA256 970c322ba3e472cb0264b8ba9d4d92e87918da5d0cca53c4aba2a70545b8626d RUN set -xe \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -118,27 +118,35 @@ RUN set -xe \ libxml2-dev \ " \ && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(nproc)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; } \ && make clean \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps \ - && docker-php-source delete + && docker-php-source delete \ + \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps COPY docker-php-ext-* /usr/local/bin/ diff --git a/7.0/fpm/Dockerfile b/7.0/fpm/Dockerfile index b9654c1d..9f71ff9c 100644 --- a/7.0/fpm/Dockerfile +++ b/7.0/fpm/Dockerfile @@ -40,7 +40,7 @@ ENV PHP_FILENAME php-7.0.9.tar.xz ENV PHP_SHA256 970c322ba3e472cb0264b8ba9d4d92e87918da5d0cca53c4aba2a70545b8626d RUN set -xe \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -63,27 +63,35 @@ RUN set -xe \ libxml2-dev \ " \ && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(nproc)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; } \ && make clean \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps \ - && docker-php-source delete + && docker-php-source delete \ + \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps COPY docker-php-ext-* /usr/local/bin/ diff --git a/7.0/fpm/alpine/Dockerfile b/7.0/fpm/alpine/Dockerfile index 076fd33d..3f6656a9 100644 --- a/7.0/fpm/alpine/Dockerfile +++ b/7.0/fpm/alpine/Dockerfile @@ -48,7 +48,7 @@ RUN set -xe \ && apk add --no-cache --virtual .fetch-deps \ gnupg \ && mkdir -p /usr/src \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -70,25 +70,34 @@ RUN set -xe \ libxml2-dev \ openssl-dev \ sqlite-dev \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(getconf _NPROCESSORS_ONLN)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -perm +0111 -exec strip --strip-all '{}' + || true; } \ && make clean \ + && docker-php-source delete \ + \ && runDeps="$( \ scanelf --needed --nobanner --recursive /usr/local \ | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ @@ -97,8 +106,8 @@ RUN set -xe \ | sort -u \ )" \ && apk add --no-cache --virtual .php-rundeps $runDeps \ - && apk del .build-deps \ - && docker-php-source delete + \ + && apk del .build-deps COPY docker-php-ext-* /usr/local/bin/ diff --git a/7.0/zts/Dockerfile b/7.0/zts/Dockerfile index 21bc54d3..e8ed983a 100644 --- a/7.0/zts/Dockerfile +++ b/7.0/zts/Dockerfile @@ -40,7 +40,7 @@ ENV PHP_FILENAME php-7.0.9.tar.xz ENV PHP_SHA256 970c322ba3e472cb0264b8ba9d4d92e87918da5d0cca53c4aba2a70545b8626d RUN set -xe \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -63,27 +63,35 @@ RUN set -xe \ libxml2-dev \ " \ && apt-get update && apt-get install -y $buildDeps --no-install-recommends && rm -rf /var/lib/apt/lists/* \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(nproc)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -executable -exec strip --strip-all '{}' + || true; } \ && make clean \ - && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps \ - && docker-php-source delete + && docker-php-source delete \ + \ + && apt-get purge -y --auto-remove -o APT::AutoRemove::RecommendsImportant=false $buildDeps COPY docker-php-ext-* /usr/local/bin/ diff --git a/7.0/zts/alpine/Dockerfile b/7.0/zts/alpine/Dockerfile index 308c1500..ca6d9ee8 100644 --- a/7.0/zts/alpine/Dockerfile +++ b/7.0/zts/alpine/Dockerfile @@ -48,7 +48,7 @@ RUN set -xe \ && apk add --no-cache --virtual .fetch-deps \ gnupg \ && mkdir -p /usr/src \ - && cd /usr/src/ \ + && cd /usr/src \ && curl -fSL "http://php.net/get/$PHP_FILENAME/from/this/mirror" -o php.tar.xz \ && echo "$PHP_SHA256 *php.tar.xz" | sha256sum -c - \ && curl -fSL "http://php.net/get/$PHP_FILENAME.asc/from/this/mirror" -o php.tar.xz.asc \ @@ -70,25 +70,34 @@ RUN set -xe \ libxml2-dev \ openssl-dev \ sqlite-dev \ + \ && docker-php-source extract \ && cd /usr/src/php \ && ./configure \ --with-config-file-path="$PHP_INI_DIR" \ --with-config-file-scan-dir="$PHP_INI_DIR/conf.d" \ + \ --disable-cgi \ -# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) - --enable-mysqlnd \ + \ +# --enable-ftp is included here because ftp_ssl_connect() needs ftp to be compiled statically (see https://github.com/docker-library/php/issues/236) + --enable-ftp \ # --enable-mbstring is included here because otherwise there's no way to get pecl to use it properly (see https://github.com/docker-library/php/issues/195) --enable-mbstring \ +# --enable-mysqlnd is included here because it's harder to compile after the fact than extensions are (since it's a plugin for several extensions, not an extension in itself) + --enable-mysqlnd \ + \ --with-curl \ --with-libedit \ --with-openssl \ --with-zlib \ + \ $PHP_EXTRA_CONFIGURE_ARGS \ && make -j"$(getconf _NPROCESSORS_ONLN)" \ && make install \ && { find /usr/local/bin /usr/local/sbin -type f -perm +0111 -exec strip --strip-all '{}' + || true; } \ && make clean \ + && docker-php-source delete \ + \ && runDeps="$( \ scanelf --needed --nobanner --recursive /usr/local \ | awk '{ gsub(/,/, "\nso:", $2); print "so:" $2 }' \ @@ -97,8 +106,8 @@ RUN set -xe \ | sort -u \ )" \ && apk add --no-cache --virtual .php-rundeps $runDeps \ - && apk del .build-deps \ - && docker-php-source delete + \ + && apk del .build-deps COPY docker-php-ext-* /usr/local/bin/