diff --git a/php5/5.4.45/build/php/Dockerfile b/php5/5.4.45/build/php/Dockerfile index f08259cf6..3b8618d18 100644 --- a/php5/5.4.45/build/php/Dockerfile +++ b/php5/5.4.45/build/php/Dockerfile @@ -5,36 +5,21 @@ ARG TZ ARG PHP_EXTENSIONS ARG CONTAINER_PACKAGE_URL - -RUN if [ $CONTAINER_PACKAGE_URL ] ; then sed -i "s/dl-cdn.alpinelinux.org/${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories ; fi - -ADD ./extensions/install-php-extensions /usr/local/bin/ - -RUN chmod uga+x /usr/local/bin/install-php-extensions - COPY ./extensions /tmp/extensions WORKDIR /tmp/extensions RUN chmod +x install.sh \ && sh install.sh \ && rm -rf /tmp/extensions -RUN apk --no-cache add tzdata \ - && cp "/usr/share/zoneinfo/$TZ" /etc/localtime \ - && echo "$TZ" > /etc/timezone - - -# Fix: https://github.com/docker-library/php/issues/240 -RUN apk add gnu-libiconv libstdc++ --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/edge/community/ --allow-untrusted -ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php - # Install composer and change it's cache home RUN curl -o /usr/bin/composer https://mirrors.aliyun.com/composer/composer.phar \ && chmod +x /usr/bin/composer ENV COMPOSER_HOME=/tmp/composer + # php image's www-data user uid & gid are 82, change them to 1000 (primary user) -RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data +RUN usermod -u 1000 www-data && groupmod -g 1000 www-data -WORKDIR /www +WORKDIR /www \ No newline at end of file diff --git a/php5/5.4.45/build/php/extensions/install-composer.sh b/php5/5.4.45/build/php/extensions/install-composer.sh deleted file mode 100644 index 34074732d..000000000 --- a/php5/5.4.45/build/php/extensions/install-composer.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/sh - -# The latest mirror's composer version only support for PHP 7.2.5 -# And if your PHP version is lesser than that, will be download supported version. -supportLatest=$(php -r "echo version_compare(PHP_VERSION, '7.2.5', '>');") - -if [ "$supportLatest" -eq "1" ]; then - curl -o /usr/bin/composer https://mirrors.aliyun.com/composer/composer.phar \ - && chmod +x /usr/bin/composer -else - curl -o /tmp/composer-setup.php https://getcomposer.org/installer \ - && php /tmp/composer-setup.php --install-dir=/tmp \ - && mv /tmp/composer.phar /usr/bin/composer \ - && chmod +x /usr/bin/composer \ - && rm -rf /tmp/composer-setup.php -fi \ No newline at end of file diff --git a/php5/5.4.45/build/php/extensions/install.sh b/php5/5.4.45/build/php/extensions/install.sh index 9947f167c..a673bd947 100644 --- a/php5/5.4.45/build/php/extensions/install.sh +++ b/php5/5.4.45/build/php/extensions/install.sh @@ -1,741 +1,289 @@ -#!/bin/sh - -export MC="-j$(nproc)" +#!/bin/bash echo echo "============================================" echo "Install extensions from : install.sh" echo "PHP version : ${PHP_VERSION}" -echo "Extra Extensions : ${PHP_EXTENSIONS}" -echo "Multicore Compilation : ${MC}" +echo "Install extensions : ${PHP_EXTENSIONS}" +echo "Multicore compilation : ${MC}" echo "Container package url : ${CONTAINER_PACKAGE_URL}" echo "Work directory : ${PWD}" echo "============================================" echo -if [ "${PHP_EXTENSIONS}" != "" ]; then - apk --update add --no-cache --virtual .build-deps autoconf g++ libtool make curl-dev gettext-dev linux-headers -fi +echo "---------- Install zip extension ----------" +apt-get install -y zlib1g-dev unzip +docker-php-ext-install zip - -export EXTENSIONS=",${PHP_EXTENSIONS}," - - -# -# Check if current php version is greater than or equal to -# specific version. -# -# For example, to check if current php is greater than or -# equal to PHP 7.0: -# -# isPhpVersionGreaterOrEqual 7 0 -# -# Param 1: Specific PHP Major version -# Param 2: Specific PHP Minor version -# Return : 1 if greater than or equal to, 0 if less than -# -isPhpVersionGreaterOrEqual() - { - local PHP_MAJOR_VERSION=$(php -r "echo PHP_MAJOR_VERSION;") - local PHP_MINOR_VERSION=$(php -r "echo PHP_MINOR_VERSION;") - - if [[ "$PHP_MAJOR_VERSION" -gt "$1" || "$PHP_MAJOR_VERSION" -eq "$1" && "$PHP_MINOR_VERSION" -ge "$2" ]]; then - return 1; - else - return 0; - fi -} - - -# -# Install extension from package file(.tgz), -# For example: -# -# installExtensionFromTgz redis-5.2.2 -# -# Param 1: Package name with version -# Param 2: enable options -# installExtensionFromTgz() { tgzName=$1 - para1= extensionName="${tgzName%%-*}" - - if [ $2 ]; then - para1=$2 - fi + mkdir ${extensionName} tar -xf ${tgzName}.tgz -C ${extensionName} --strip-components=1 - ( cd ${extensionName} && phpize && ./configure ${para1} && make ${MC} && make install ) + ( cd ${extensionName} && phpize && ./configure && make ${MC} && make install ) - docker-php-ext-enable ${extensionName} + docker-php-ext-enable ${extensionName} $2 } +export EXTENSIONS=",${PHP_EXTENSIONS}," -if [[ -z "${EXTENSIONS##*,pdo_mysql,*}" ]]; then - echo "---------- Install pdo_mysql ----------" - docker-php-ext-install ${MC} pdo_mysql -fi - -if [[ -z "${EXTENSIONS##*,pcntl,*}" ]]; then - echo "---------- Install pcntl ----------" - docker-php-ext-install ${MC} pcntl -fi - -if [[ -z "${EXTENSIONS##*,mysqli,*}" ]]; then - echo "---------- Install mysqli ----------" - docker-php-ext-install ${MC} mysqli -fi - -if [[ -z "${EXTENSIONS##*,mbstring,*}" ]]; then - echo "---------- mbstring is installed ----------" -fi - -if [[ -z "${EXTENSIONS##*,exif,*}" ]]; then - echo "---------- Install exif ----------" - docker-php-ext-install ${MC} exif -fi - -if [[ -z "${EXTENSIONS##*,bcmath,*}" ]]; then - echo "---------- Install bcmath ----------" - docker-php-ext-install ${MC} bcmath -fi - -if [[ -z "${EXTENSIONS##*,calendar,*}" ]]; then - echo "---------- Install calendar ----------" - docker-php-ext-install ${MC} calendar -fi - -if [[ -z "${EXTENSIONS##*,zend_test,*}" ]]; then - echo "---------- Install zend_test ----------" - docker-php-ext-install ${MC} zend_test -fi - -if [[ -z "${EXTENSIONS##*,opcache,*}" ]]; then - echo "---------- Install opcache ----------" - docker-php-ext-install opcache -fi - -if [[ -z "${EXTENSIONS##*,sockets,*}" ]]; then - echo "---------- Install sockets ----------" - docker-php-ext-install ${MC} sockets -fi - -if [[ -z "${EXTENSIONS##*,gettext,*}" ]]; then - echo "---------- Install gettext ----------" - apk --no-cache add gettext-dev - docker-php-ext-install ${MC} gettext - -fi - -if [[ -z "${EXTENSIONS##*,shmop,*}" ]]; then - echo "---------- Install shmop ----------" - docker-php-ext-install ${MC} shmop -fi - -if [[ -z "${EXTENSIONS##*,sysvmsg,*}" ]]; then - echo "---------- Install sysvmsg ----------" - docker-php-ext-install ${MC} sysvmsg -fi - -if [[ -z "${EXTENSIONS##*,sysvsem,*}" ]]; then - echo "---------- Install sysvsem ----------" - docker-php-ext-install ${MC} sysvsem -fi - -if [[ -z "${EXTENSIONS##*,sysvshm,*}" ]]; then - echo "---------- Install sysvshm ----------" - docker-php-ext-install ${MC} sysvshm -fi - -if [[ -z "${EXTENSIONS##*,pdo_firebird,*}" ]]; then - echo "---------- Install pdo_firebird ----------" - docker-php-ext-install ${MC} pdo_firebird -fi - -if [[ -z "${EXTENSIONS##*,pdo_dblib,*}" ]]; then - echo "---------- Install pdo_dblib ----------" - docker-php-ext-install ${MC} pdo_dblib -fi - -if [[ -z "${EXTENSIONS##*,pdo_oci,*}" ]]; then - echo "---------- Install pdo_oci ----------" - docker-php-ext-install ${MC} pdo_oci -fi - -if [[ -z "${EXTENSIONS##*,pdo_odbc,*}" ]]; then - echo "---------- Install pdo_odbc ----------" - docker-php-ext-install ${MC} pdo_odbc -fi - -if [[ -z "${EXTENSIONS##*,pdo_pgsql,*}" ]]; then - echo "---------- Install pdo_pgsql ----------" - apk --no-cache add postgresql-dev \ - && docker-php-ext-install ${MC} pdo_pgsql -fi - -if [[ -z "${EXTENSIONS##*,pgsql,*}" ]]; then - echo "---------- Install pgsql ----------" - apk --no-cache add postgresql-dev \ - && docker-php-ext-install ${MC} pgsql -fi - -if [[ -z "${EXTENSIONS##*,oci8,*}" ]]; then - echo "---------- Install oci8 ----------" - docker-php-ext-install ${MC} oci8 -fi - -if [[ -z "${EXTENSIONS##*,odbc,*}" ]]; then - echo "---------- Install odbc ----------" - docker-php-ext-install ${MC} odbc -fi - -if [[ -z "${EXTENSIONS##*,dba,*}" ]]; then - echo "---------- Install dba ----------" - docker-php-ext-install ${MC} dba -fi - -if [[ -z "${EXTENSIONS##*,interbase,*}" ]]; then - echo "---------- Install interbase ----------" - echo "Alpine linux do not support interbase/firebird!!!" - #docker-php-ext-install ${MC} interbase -fi - -if [[ -z "${EXTENSIONS##*,hprose,*}" ]]; then - echo "---------- Install hprose ----------" - printf "\n" | pecl install hprose - docker-php-ext-enable hprose -fi - -if [[ -z "${EXTENSIONS##*,ioncube_loader,*}" ]]; then - echo "---------- Install ioncube_loader ----------" - install-php-extensions ioncube_loader -fi - -if [[ -z "${EXTENSIONS##*,imagick,*}" ]]; then - echo "---------- Install imagick ----------" - install-php-extensions imagick -fi - -if [[ -z "${EXTENSIONS##*,gd,*}" ]]; then +if [ -z "${EXTENSIONS##*,gd,*}" ]; then echo "---------- Install gd ----------" - isPhpVersionGreaterOrEqual 7 4 - - if [[ "$?" = "1" ]]; then - # "--with-xxx-dir" was removed from php 7.4, - # issue: https://github.com/docker-library/php/issues/912 - options="--with-freetype --with-jpeg --with-webp" - else - options="--with-gd --with-freetype-dir=/usr/include/ --with-png-dir=/usr/include/ --with-jpeg-dir=/usr/include/ --with-webp-dir=/usr/include/" - fi - - apk add --no-cache \ - freetype \ - freetype-dev \ - libpng \ - libpng-dev \ - libjpeg-turbo \ - libjpeg-turbo-dev \ - libwebp-dev \ - && docker-php-ext-configure gd ${options} \ - && docker-php-ext-install ${MC} gd \ - && apk del \ - freetype-dev \ - libpng-dev \ - libjpeg-turbo-dev + apt-get install -y libfreetype6-dev libjpeg62-turbo-dev libpng-dev \ + && docker-php-ext-configure gd --with-freetype-dir=/usr/include/ --with-jpeg-dir=/usr/include/ \ + && docker-php-ext-install gd fi -if [[ -z "${EXTENSIONS##*,yaml,*}" ]]; then - echo "---------- Install yaml ----------" - apk add --no-cache yaml-dev - printf "\n" | pecl install yaml - docker-php-ext-enable yaml +if [ -z "${EXTENSIONS##*,pdo_mysql,*}" ]; then + echo "---------- Install pdo_mysql ----------" + docker-php-ext-install pdo_mysql fi -if [[ -z "${EXTENSIONS##*,intl,*}" ]]; then +if [ -z "${EXTENSIONS##*,intl,*}" ]; then echo "---------- Install intl ----------" - apk add --no-cache icu-dev - docker-php-ext-install ${MC} intl + apt-get install -y libicu-dev + docker-php-ext-install intl fi -if [[ -z "${EXTENSIONS##*,bz2,*}" ]]; then +if [ -z "${EXTENSIONS##*,bz2,*}" ]; then echo "---------- Install bz2 ----------" - apk add --no-cache bzip2-dev - docker-php-ext-install ${MC} bz2 + apt-get install -y libbz2-dev + docker-php-ext-install bz2 fi -if [[ -z "${EXTENSIONS##*,soap,*}" ]]; then +if [ -z "${EXTENSIONS##*,pcntl,*}" ]; then + echo "---------- Install pcntl ----------" + docker-php-ext-install pcntl +fi + +if [ -z "${EXTENSIONS##*,mysqli,*}" ]; then + echo "---------- Install mysqli ----------" + docker-php-ext-install mysqli +fi + +if [ -z "${EXTENSIONS##*,mbstring,*}" ]; then + echo "---------- Install mbstring ----------" + docker-php-ext-install mbstring +fi + +if [ -z "${EXTENSIONS##*,exif,*}" ]; then + echo "---------- Install exif ----------" + docker-php-ext-install exif +fi + +if [ -z "${EXTENSIONS##*,bcmath,*}" ]; then + echo "---------- Install bcmath ----------" + docker-php-ext-install bcmath +fi + +if [ -z "${EXTENSIONS##*,calendar,*}" ]; then + echo "---------- Install calendar ----------" + docker-php-ext-install calendar +fi + +if [ -z "${EXTENSIONS##*,sockets,*}" ]; then + echo "---------- Install sockets ----------" + docker-php-ext-install sockets +fi + +if [ -z "${EXTENSIONS##*,gettext,*}" ]; then + echo "---------- Install gettext ----------" + docker-php-ext-install gettext +fi + +if [ -z "${EXTENSIONS##*,shmop,*}" ]; then + echo "---------- Install shmop ----------" + docker-php-ext-install shmop +fi + +if [ -z "${EXTENSIONS##*,sysvmsg,*}" ]; then + echo "---------- Install sysvmsg ----------" + docker-php-ext-install sysvmsg +fi + +if [ -z "${EXTENSIONS##*,sysvsem,*}" ]; then + echo "---------- Install sysvsem ----------" + docker-php-ext-install sysvsem +fi + +if [ -z "${EXTENSIONS##*,sysvshm,*}" ]; then + echo "---------- Install sysvshm ----------" + docker-php-ext-install sysvshm +fi + +if [ -z "${EXTENSIONS##*,pdo_firebird,*}" ]; then + echo "---------- Install pdo_firebird ----------" + docker-php-ext-install pdo_firebird +fi + +if [ -z "${EXTENSIONS##*,pdo_dblib,*}" ]; then + echo "---------- Install pdo_dblib ----------" + docker-php-ext-install pdo_dblib +fi + +if [ -z "${EXTENSIONS##*,pdo_oci,*}" ]; then + echo "---------- Install pdo_oci ----------" + docker-php-ext-install pdo_oci +fi + +if [ -z "${EXTENSIONS##*,pdo_odbc,*}" ]; then + echo "---------- Install pdo_odbc ----------" + docker-php-ext-install pdo_odbc +fi + +if [ -z "${EXTENSIONS##*,pdo_pgsql,*}" ]; then + echo "---------- Install pdo_pgsql ----------" + docker-php-ext-install pdo_pgsql +fi + +if [ -z "${EXTENSIONS##*,pgsql,*}" ]; then + echo "---------- Install pgsql ----------" + docker-php-ext-install pgsql +fi + +if [ -z "${EXTENSIONS##*,oci8,*}" ]; then + echo "---------- Install oci8 ----------" + docker-php-ext-install oci8 +fi + +if [ -z "${EXTENSIONS##*,odbc,*}" ]; then + echo "---------- Install odbc ----------" + docker-php-ext-install odbc +fi + +if [ -z "${EXTENSIONS##*,dba,*}" ]; then + echo "---------- Install dba ----------" + docker-php-ext-install dba +fi + +if [ -z "${EXTENSIONS##*,interbase,*}" ]; then + echo "---------- Install interbase ----------" + docker-php-ext-install interbase +fi + +if [ -z "${EXTENSIONS##*,soap,*}" ]; then echo "---------- Install soap ----------" - apk add --no-cache libxml2-dev - docker-php-ext-install ${MC} soap + apt-get install -y libxml2-dev + docker-php-ext-install soap fi -if [[ -z "${EXTENSIONS##*,xsl,*}" ]]; then + +if [ -z "${EXTENSIONS##*,xsl,*}" ]; then echo "---------- Install xsl ----------" - apk add --no-cache libxml2-dev libxslt-dev - docker-php-ext-install ${MC} xsl + apt-get install -y libxml2-dev + apt-get install -y libxslt-dev + docker-php-ext-install xsl fi -if [[ -z "${EXTENSIONS##*,xmlrpc,*}" ]]; then +if [ -z "${EXTENSIONS##*,xmlrpc,*}" ]; then echo "---------- Install xmlrpc ----------" - apk add --no-cache libxml2-dev libxslt-dev - docker-php-ext-install ${MC} xmlrpc + apt-get install -y libxml2-dev + apt-get install -y libxslt-dev + docker-php-ext-install xmlrpc fi -if [[ -z "${EXTENSIONS##*,wddx,*}" ]]; then +if [ -z "${EXTENSIONS##*,wddx,*}" ]; then echo "---------- Install wddx ----------" - apk add --no-cache libxml2-dev libxslt-dev - docker-php-ext-install ${MC} wddx + apt-get install -y libxml2-dev + apt-get install -y libxslt-dev + docker-php-ext-install wddx fi -if [[ -z "${EXTENSIONS##*,curl,*}" ]]; then - echo "---------- curl is installed ----------" +if [ -z "${EXTENSIONS##*,curl,*}" ]; then + echo "---------- Install curl ----------" + apt-get install -y curl + apt-get install -y libcurl3 + apt-get install -y libcurl4-openssl-dev + docker-php-ext-install curl fi -if [[ -z "${EXTENSIONS##*,readline,*}" ]]; then +if [ -z "${EXTENSIONS##*,readline,*}" ]; then echo "---------- Install readline ----------" - apk add --no-cache readline-dev - apk add --no-cache libedit-dev - docker-php-ext-install ${MC} readline + apt-get install -y libreadline-dev + docker-php-ext-install readline fi -if [[ -z "${EXTENSIONS##*,snmp,*}" ]]; then +if [ -z "${EXTENSIONS##*,snmp,*}" ]; then echo "---------- Install snmp ----------" - apk add --no-cache net-snmp-dev - docker-php-ext-install ${MC} snmp + apt-get install -y libsnmp-dev + apt-get install -y snmp + docker-php-ext-install snmp fi -if [[ -z "${EXTENSIONS##*,pspell,*}" ]]; then +if [ -z "${EXTENSIONS##*,pspell,*}" ]; then echo "---------- Install pspell ----------" - apk add --no-cache aspell-dev - apk add --no-cache aspell-en - docker-php-ext-install ${MC} pspell + apt-get install -y libpspell-dev + apt-get install -y aspell-en + docker-php-ext-install pspell fi -if [[ -z "${EXTENSIONS##*,recode,*}" ]]; then +if [ -z "${EXTENSIONS##*,recode,*}" ]; then echo "---------- Install recode ----------" - apk add --no-cache recode-dev - docker-php-ext-install ${MC} recode + apt-get install -y librecode0 + apt-get install -y librecode-dev + docker-php-ext-install recode fi -if [[ -z "${EXTENSIONS##*,tidy,*}" ]]; then +if [ -z "${EXTENSIONS##*,tidy,*}" ]; then echo "---------- Install tidy ----------" - apk add --no-cache tidyhtml-dev - - # Fix: https://github.com/htacg/tidy-html5/issues/235 - ln -s /usr/include/tidybuffio.h /usr/include/buffio.h - - docker-php-ext-install ${MC} tidy + apt-get install -y libtidy-dev + docker-php-ext-install tidy fi -if [[ -z "${EXTENSIONS##*,gmp,*}" ]]; then +if [ -z "${EXTENSIONS##*,gmp,*}" ]; then echo "---------- Install gmp ----------" - apk add --no-cache gmp-dev - docker-php-ext-install ${MC} gmp + apt-get install -y libgmp-dev + ln -s /usr/include/x86_64-linux-gnu/gmp.h /usr/include/gmp.h + docker-php-ext-install gmp fi -if [[ -z "${EXTENSIONS##*,imap,*}" ]]; then +if [ -z "${EXTENSIONS##*,imap,*}" ]; then echo "---------- Install imap ----------" - apk add --no-cache imap-dev - docker-php-ext-configure imap --with-imap --with-imap-ssl - docker-php-ext-install ${MC} imap + apt-get install -y libc-client-dev + docker-php-ext-configure imap --with-kerberos --with-imap-ssl + docker-php-ext-install imap fi -if [[ -z "${EXTENSIONS##*,ldap,*}" ]]; then +if [ -z "${EXTENSIONS##*,ldap,*}" ]; then echo "---------- Install ldap ----------" - apk add --no-cache ldb-dev - apk add --no-cache openldap-dev - docker-php-ext-install ${MC} ldap + apt-get install -y libldb-dev + apt-get install -y libldap2-dev + docker-php-ext-configure ldap --with-libdir=lib/x86_64-linux-gnu + docker-php-ext-install ldap fi -if [[ -z "${EXTENSIONS##*,psr,*}" ]]; then - echo "---------- Install psr ----------" - printf "\n" | pecl install psr - docker-php-ext-enable psr -fi - -if [[ -z "${EXTENSIONS##*,imagick,*}" ]]; then +if [ -z "${EXTENSIONS##*,imagick,*}" ]; then echo "---------- Install imagick ----------" - apk add --no-cache file-dev - apk add --no-cache imagemagick-dev - printf "\n" | pecl install imagick-3.4.4 + apt-get install -y libmagickwand-dev + pecl install imagick-3.4.3 docker-php-ext-enable imagick fi -if [[ -z "${EXTENSIONS##*,rar,*}" ]]; then - echo "---------- Install rar ----------" - printf "\n" | pecl install rar - docker-php-ext-enable rar -fi - -if [[ -z "${EXTENSIONS##*,ast,*}" ]]; then - echo "---------- Install ast ----------" - printf "\n" | pecl install ast - docker-php-ext-enable ast -fi - -if [[ -z "${EXTENSIONS##*,msgpack,*}" ]]; then - echo "---------- Install msgpack ----------" - printf "\n" | pecl install msgpack - docker-php-ext-enable msgpack -fi - -if [[ -z "${EXTENSIONS##*,igbinary,*}" ]]; then - echo "---------- Install igbinary ----------" - printf "\n" | pecl install igbinary - docker-php-ext-enable igbinary -fi - - -if [[ -z "${EXTENSIONS##*,ssh2,*}" ]]; then - isPhpVersionGreaterOrEqual 7 0 - if [[ "$?" = "1" ]]; then - echo "---------- Install ssh2 ----------" - printf "\n" | apk add libssh2-dev - pecl install ssh2-1.1.2 - docker-php-ext-enable ssh2 - else - echo "ssh2 requires PHP >= 7.0.0, installed version is ${PHP_VERSION}" - fi -fi - -if [[ -z "${EXTENSIONS##*,protobuf,*}" ]]; then - isPhpVersionGreaterOrEqual 7 0 - if [[ "$?" = "1" ]]; then - echo "---------- Install protobuf ----------" - printf "\n" | pecl install protobuf - docker-php-ext-enable protobuf - else - echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}" - fi -fi - -if [[ -z "${EXTENSIONS##*,yac,*}" ]]; then - isPhpVersionGreaterOrEqual 7 0 - if [[ "$?" = "1" ]]; then - echo "---------- Install yac ----------" - printf "\n" | pecl install yac-2.0.2 - docker-php-ext-enable yac - else - echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}" - fi -fi - -if [[ -z "${EXTENSIONS##*,yar,*}" ]]; then - isPhpVersionGreaterOrEqual 7 0 - if [[ "$?" = "1" ]]; then - echo "---------- Install yar ----------" - printf "\n" | pecl install yar - docker-php-ext-enable yar - else - echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}" - fi - -fi - - - -if [[ -z "${EXTENSIONS##*,yaconf,*}" ]]; then - isPhpVersionGreaterOrEqual 7 0 - if [[ "$?" = "1" ]]; then - echo "---------- Install yaconf ----------" - printf "\n" | pecl install yaconf - docker-php-ext-enable yaconf - else - echo "yar requires PHP >= 7.0.0, installed version is ${PHP_VERSION}" - fi -fi - -if [[ -z "${EXTENSIONS##*,seaslog,*}" ]]; then - echo "---------- Install seaslog ----------" - printf "\n" | pecl install seaslog - docker-php-ext-enable seaslog -fi - -if [[ -z "${EXTENSIONS##*,varnish,*}" ]]; then - echo "---------- Install varnish ----------" - apk add --no-cache varnish-dev - printf "\n" | pecl install varnish - docker-php-ext-enable varnish -fi - -if [[ -z "${EXTENSIONS##*,pdo_sqlsrv,*}" ]]; then - isPhpVersionGreaterOrEqual 7 1 - if [[ "$?" = "1" ]]; then - echo "---------- Install pdo_sqlsrv ----------" - apk add --no-cache unixodbc-dev - printf "\n" | pecl install pdo_sqlsrv - docker-php-ext-enable pdo_sqlsrv - curl -o /tmp/msodbcsql17_amd64.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.5.2.1-1_amd64.apk - apk add --allow-untrusted /tmp/msodbcsql17_amd64.apk - else - echo "pdo_sqlsrv requires PHP >= 7.1.0, installed version is ${PHP_VERSION}" - fi -fi - -if [[ -z "${EXTENSIONS##*,sqlsrv,*}" ]]; then - isPhpVersionGreaterOrEqual 7 1 - if [[ "$?" = "1" ]]; then - echo "---------- Install sqlsrv ----------" - apk add --no-cache unixodbc-dev - printf "\n" | pecl install sqlsrv - docker-php-ext-enable sqlsrv - else - echo "pdo_sqlsrv requires PHP >= 7.1.0, installed version is ${PHP_VERSION}" - fi -fi - -if [[ -z "${EXTENSIONS##*,mcrypt,*}" ]]; then - isPhpVersionGreaterOrEqual 7 0 - if [[ "$?" = "1" ]]; then - echo "---------- Install mcrypt ----------" - apk add --no-cache libmcrypt-dev libmcrypt re2c - printf "\n" |pecl install mcrypt - docker-php-ext-enable mcrypt - else - echo "---------- Install mcrypt ----------" - apk add --no-cache libmcrypt-dev \ - && docker-php-ext-install ${MC} mcrypt - fi -fi - -if [[ -z "${EXTENSIONS##*,mysql,*}" ]]; then - isPhpVersionGreaterOrEqual 7 0 - - if [[ "$?" = "1" ]]; then - echo "---------- mysql was REMOVED from PHP 7.0.0 ----------" - else - echo "---------- Install mysql ----------" - docker-php-ext-install ${MC} mysql - fi -fi - -if [[ -z "${EXTENSIONS##*,sodium,*}" ]]; then - isPhpVersionGreaterOrEqual 7 2 - if [[ "$?" = "1" ]]; then - echo - echo "Sodium is bundled with PHP from PHP 7.2.0" - echo - else - echo "---------- Install sodium ----------" - apk add --no-cache libsodium-dev - docker-php-ext-install ${MC} sodium - fi -fi - -if [[ -z "${EXTENSIONS##*,amqp,*}" ]]; then - echo "---------- Install amqp ----------" - apk add --no-cache rabbitmq-c-dev - installExtensionFromTgz amqp-1.10.2 -fi - -if [[ -z "${EXTENSIONS##*,redis,*}" ]]; then - echo "---------- Install redis ----------" - isPhpVersionGreaterOrEqual 7 0 - if [[ "$?" = "1" ]]; then - installExtensionFromTgz redis-5.2.2 - else - printf "\n" | pecl install redis-4.3.0 - docker-php-ext-enable redis - fi -fi - -if [[ -z "${EXTENSIONS##*,apcu,*}" ]]; then - echo "---------- Install apcu ----------" - installExtensionFromTgz apcu-5.1.17 -fi - -if [[ -z "${EXTENSIONS##*,memcached,*}" ]]; then +if [ -z "${EXTENSIONS##*,memcached,*}" ]; then echo "---------- Install memcached ----------" - apk add --no-cache libmemcached-dev zlib-dev - isPhpVersionGreaterOrEqual 7 0 - - if [[ "$?" = "1" ]]; then - printf "\n" | pecl install memcached-3.1.3 - else - printf "\n" | pecl install memcached-2.2.0 - fi - + apt-get install -y libmemcached-dev + pecl install memcached-2.2.0 docker-php-ext-enable memcached fi -if [[ -z "${EXTENSIONS##*,memcache,*}" ]]; then - echo "---------- Install memcache ----------" - isPhpVersionGreaterOrEqual 7 0 - if [[ "$?" = "1" ]]; then - installExtensionFromTgz memcache-4.0.5.2 - else - installExtensionFromTgz memcache-2.2.6 - fi +if [ -z "${EXTENSIONS##*,sqlsrv,*}" ]; then + echo "---------- Install sqlsrv ----------" + apt-get install -y unixodbc-dev + pecl install sqlsrv + docker-php-ext-enable sqlsrv fi -if [[ -z "${EXTENSIONS##*,xdebug,*}" ]]; then - echo "---------- Install xdebug ----------" - isPhpVersionGreaterOrEqual 7 0 - - if [[ "$?" = "1" ]]; then - isPhpVersionGreaterOrEqual 7 4 - if [[ "$?" = "1" ]]; then - installExtensionFromTgz xdebug-2.9.2 - else - installExtensionFromTgz xdebug-2.6.1 - fi - else - installExtensionFromTgz xdebug-2.5.5 - fi +if [ -z "${EXTENSIONS##*,pdo_sqlsrv,*}" ]; then + echo "---------- Install pdo_sqlsrv ----------" + apt-get install -y unixodbc-dev + pecl install pdo_sqlsrv + docker-php-ext-enable pdo_sqlsrv fi -if [[ -z "${EXTENSIONS##*,event,*}" ]]; then - echo "---------- Install event ----------" - apk add --no-cache libevent-dev - export is_sockets_installed=$(php -r "echo extension_loaded('sockets');") - - if [[ "${is_sockets_installed}" = "" ]]; then - echo "---------- event is depend on sockets, install sockets first ----------" - docker-php-ext-install sockets - fi - - echo "---------- Install event again ----------" - installExtensionFromTgz event-2.5.6 "--ini-name event.ini" -fi - -if [[ -z "${EXTENSIONS##*,mongodb,*}" ]]; then - echo "---------- Install mongodb ----------" - installExtensionFromTgz mongodb-1.7.4 -fi - -if [[ -z "${EXTENSIONS##*,yaf,*}" ]]; then - echo "---------- Install yaf ----------" - isPhpVersionGreaterOrEqual 7 0 - - if [[ "$?" = "1" ]]; then - printf "\n" | pecl install yaf - docker-php-ext-enable yaf - else - installExtensionFromTgz yaf-2.3.5 - fi -fi - - -if [[ -z "${EXTENSIONS##*,swoole,*}" ]]; then - echo "---------- Install swoole ----------" - # Fix: Refer to the line containing "swoole@alpine)" in file "./install-php-extensions" - apk add --no-cache libstdc++ - - isPhpVersionGreaterOrEqual 7 0 - - if [[ "$?" = "1" ]]; then - installExtensionFromTgz swoole-4.5.2 - else - installExtensionFromTgz swoole-2.0.11 - fi -fi - -if [[ -z "${EXTENSIONS##*,zip,*}" ]]; then - echo "---------- Install zip ----------" - # Fix: https://github.com/docker-library/php/issues/797 - apk add --no-cache libzip-dev - - isPhpVersionGreaterOrEqual 7 4 - if [[ "$?" != "1" ]]; then - docker-php-ext-configure zip --with-libzip=/usr/include - fi - - docker-php-ext-install ${MC} zip -fi - -if [[ -z "${EXTENSIONS##*,xhprof,*}" ]]; then - echo "---------- Install XHProf ----------" - - isPhpVersionGreaterOrEqual 7 0 - - if [[ "$?" = "1" ]]; then - mkdir xhprof \ - && tar -xf xhprof-2.2.0.tgz -C xhprof --strip-components=1 \ - && ( cd xhprof/extension/ && phpize && ./configure && make ${MC} && make install ) \ - && docker-php-ext-enable xhprof - else - echo "---------- PHP Version>= 7.0----------" - fi - -fi - -if [[ -z "${EXTENSIONS##*,xlswriter,*}" ]]; then - echo "---------- Install xlswriter ----------" - isPhpVersionGreaterOrEqual 7 0 - - if [[ "$?" = "1" ]]; then - printf "\n" | pecl install xlswriter - docker-php-ext-enable xlswriter - else - echo "---------- PHP Version>= 7.0----------" - fi -fi - -if [[ -z "${EXTENSIONS##*,rdkafka,*}" ]]; then - echo "---------- Install rdkafka ----------" - isPhpVersionGreaterOrEqual 5 6 - - if [[ "$?" = "1" ]]; then - apk add librdkafka-dev - printf "\n" | pecl install rdkafka - docker-php-ext-enable rdkafka - else - echo "---------- PHP Version>= 5.6----------" - fi -fi - -if [[ -z "${EXTENSIONS##*,zookeeper,*}" ]]; then - echo "---------- Install zookeeper ----------" - isPhpVersionGreaterOrEqual 7 0 - - if [[ "$?" = "1" ]]; then - apk add re2c - apk add libzookeeper-dev --repository http://${CONTAINER_PACKAGE_URL}/alpine/edge/testing/ - printf "\n" | pecl install zookeeper - docker-php-ext-enable zookeeper - else - echo "---------- PHP Version>= 7.0----------" - fi -fi - -if [[ -z "${EXTENSIONS##*,phalcon,*}" ]]; then - echo "---------- Install phalcon ----------" - isPhpVersionGreaterOrEqual 7 2 - - if [[ "$?" = "1" ]]; then - printf "\n" | pecl install phalcon - docker-php-ext-enable psr - docker-php-ext-enable phalcon - else - echo "---------- PHP Version>= 7.2----------" - fi -fi - -if [[ -z "${EXTENSIONS##*,sdebug,*}" ]]; then - echo "---------- Install sdebug ----------" - isPhpVersionGreaterOrEqual 7 2 - - if [[ "$?" = "1" ]]; then - curl -SL "https://github.com/swoole/sdebug/archive/sdebug_2_9-beta.tar.gz" -o sdebug.tar.gz \ - && mkdir -p sdebug \ - && tar -xf sdebug.tar.gz -C sdebug --strip-components=1 \ - && rm sdebug.tar.gz \ - && ( \ - cd sdebug \ - && phpize \ - && ./configure --enable-xdebug \ - && make clean && make && make install \ - ) \ - && docker-php-ext-enable xdebug - else - echo "---------- PHP Version>= 7.2----------" - fi -fi - -if [ "${PHP_EXTENSIONS}" != "" ]; then - apk del .build-deps \ - && docker-php-source delete +if [ -z "${EXTENSIONS##*,redis,*}" ]; then + echo "---------- Install redis ----------" + installExtensionFromTgz redis-4.1.1 fi diff --git a/php5/5.5.38/build/php/Dockerfile b/php5/5.5.38/build/php/Dockerfile index f08259cf6..f08bf864b 100644 --- a/php5/5.5.38/build/php/Dockerfile +++ b/php5/5.5.38/build/php/Dockerfile @@ -5,26 +5,25 @@ ARG TZ ARG PHP_EXTENSIONS ARG CONTAINER_PACKAGE_URL +RUN if [ $CONTAINER_PACKAGE_URL ] ; then sed -i "s/http://dl-cdn.alpinelinux.org/https://${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories ; fi -RUN if [ $CONTAINER_PACKAGE_URL ] ; then sed -i "s/dl-cdn.alpinelinux.org/${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories ; fi - -ADD ./extensions/install-php-extensions /usr/local/bin/ - -RUN chmod uga+x /usr/local/bin/install-php-extensions COPY ./extensions /tmp/extensions WORKDIR /tmp/extensions RUN chmod +x install.sh \ - && sh install.sh \ - && rm -rf /tmp/extensions + && sh install.sh + +ADD ./extensions/install-php-extensions /usr/local/bin/ + +RUN chmod uga+x /usr/local/bin/install-php-extensions RUN apk --no-cache add tzdata \ && cp "/usr/share/zoneinfo/$TZ" /etc/localtime \ && echo "$TZ" > /etc/timezone -# Fix: https://github.com/docker-library/php/issues/240 -RUN apk add gnu-libiconv libstdc++ --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/edge/community/ --allow-untrusted +# Fix: https://github.com/docker-library/php/issues/1121 +RUN apk add --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/v3.13/community/ gnu-libiconv=1.15-r3 ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php @@ -37,4 +36,4 @@ ENV COMPOSER_HOME=/tmp/composer RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data -WORKDIR /www +WORKDIR /www \ No newline at end of file diff --git a/php5/5.5.38/build/php/extensions/install-composer.sh b/php5/5.5.38/build/php/extensions/install-composer.sh index 34074732d..6ddb79f7d 100644 --- a/php5/5.5.38/build/php/extensions/install-composer.sh +++ b/php5/5.5.38/build/php/extensions/install-composer.sh @@ -1,8 +1,8 @@ #!/bin/sh -# The latest mirror's composer version only support for PHP 7.2.5 +# The latest mirror's composer version only support for PHP 5.6.0 # And if your PHP version is lesser than that, will be download supported version. -supportLatest=$(php -r "echo version_compare(PHP_VERSION, '7.2.5', '>');") +supportLatest=$(php -r "echo version_compare(PHP_VERSION, '5.5.0', '>');") if [ "$supportLatest" -eq "1" ]; then curl -o /usr/bin/composer https://mirrors.aliyun.com/composer/composer.phar \ diff --git a/php5/5.6.40/build/php/Dockerfile b/php5/5.6.40/build/php/Dockerfile index f08259cf6..ac2c3be36 100644 --- a/php5/5.6.40/build/php/Dockerfile +++ b/php5/5.6.40/build/php/Dockerfile @@ -6,35 +6,36 @@ ARG PHP_EXTENSIONS ARG CONTAINER_PACKAGE_URL -RUN if [ $CONTAINER_PACKAGE_URL ] ; then sed -i "s/dl-cdn.alpinelinux.org/${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories ; fi -ADD ./extensions/install-php-extensions /usr/local/bin/ - -RUN chmod uga+x /usr/local/bin/install-php-extensions +RUN if [ "$CONTAINER_PACKAGE_URL" ]; then sed -i 's|http://dl-cdn.alpinelinux.org/alpine/v3.4|https://${CONTAINER_PACKAGE_URL}/alpine/v3.12|g' /etc/apk/repositories; fi COPY ./extensions /tmp/extensions WORKDIR /tmp/extensions RUN chmod +x install.sh \ - && sh install.sh \ - && rm -rf /tmp/extensions + && sh install.sh + +ADD ./extensions/install-php-extensions /usr/local/bin/ + +RUN chmod uga+x /usr/local/bin/install-php-extensions RUN apk --no-cache add tzdata \ && cp "/usr/share/zoneinfo/$TZ" /etc/localtime \ && echo "$TZ" > /etc/timezone -# Fix: https://github.com/docker-library/php/issues/240 -RUN apk add gnu-libiconv libstdc++ --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/edge/community/ --allow-untrusted +# Fix: https://github.com/docker-library/php/issues/1121 +RUN apk add --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/v3.13/community/ gnu-libiconv=1.15-r3 ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php # Install composer and change it's cache home -RUN curl -o /usr/bin/composer https://mirrors.aliyun.com/composer/composer.phar \ - && chmod +x /usr/bin/composer +RUN chmod +x install-composer.sh \ + && sh install-composer.sh \ + && rm -rf /tmp/extensions ENV COMPOSER_HOME=/tmp/composer # php image's www-data user uid & gid are 82, change them to 1000 (primary user) RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data -WORKDIR /www +WORKDIR /www \ No newline at end of file diff --git a/php7/7.0.33/build/php/Dockerfile b/php7/7.0.33/build/php/Dockerfile index f08259cf6..2fa10390f 100644 --- a/php7/7.0.33/build/php/Dockerfile +++ b/php7/7.0.33/build/php/Dockerfile @@ -8,33 +8,34 @@ ARG CONTAINER_PACKAGE_URL RUN if [ $CONTAINER_PACKAGE_URL ] ; then sed -i "s/dl-cdn.alpinelinux.org/${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories ; fi -ADD ./extensions/install-php-extensions /usr/local/bin/ - -RUN chmod uga+x /usr/local/bin/install-php-extensions COPY ./extensions /tmp/extensions WORKDIR /tmp/extensions RUN chmod +x install.sh \ - && sh install.sh \ - && rm -rf /tmp/extensions + && sh install.sh + +ADD ./extensions/install-php-extensions /usr/local/bin/ + +RUN chmod uga+x /usr/local/bin/install-php-extensions RUN apk --no-cache add tzdata \ && cp "/usr/share/zoneinfo/$TZ" /etc/localtime \ && echo "$TZ" > /etc/timezone -# Fix: https://github.com/docker-library/php/issues/240 -RUN apk add gnu-libiconv libstdc++ --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/edge/community/ --allow-untrusted +# Fix: https://github.com/docker-library/php/issues/1121 +RUN apk add --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/v3.13/community/ gnu-libiconv=1.15-r3 ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php # Install composer and change it's cache home -RUN curl -o /usr/bin/composer https://mirrors.aliyun.com/composer/composer.phar \ - && chmod +x /usr/bin/composer +RUN chmod +x install-composer.sh \ + && sh install-composer.sh \ + && rm -rf /tmp/extensions ENV COMPOSER_HOME=/tmp/composer # php image's www-data user uid & gid are 82, change them to 1000 (primary user) RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data -WORKDIR /www +WORKDIR /www \ No newline at end of file diff --git a/php7/7.1.33/build/php/Dockerfile b/php7/7.1.33/build/php/Dockerfile index f08259cf6..2fa10390f 100644 --- a/php7/7.1.33/build/php/Dockerfile +++ b/php7/7.1.33/build/php/Dockerfile @@ -8,33 +8,34 @@ ARG CONTAINER_PACKAGE_URL RUN if [ $CONTAINER_PACKAGE_URL ] ; then sed -i "s/dl-cdn.alpinelinux.org/${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories ; fi -ADD ./extensions/install-php-extensions /usr/local/bin/ - -RUN chmod uga+x /usr/local/bin/install-php-extensions COPY ./extensions /tmp/extensions WORKDIR /tmp/extensions RUN chmod +x install.sh \ - && sh install.sh \ - && rm -rf /tmp/extensions + && sh install.sh + +ADD ./extensions/install-php-extensions /usr/local/bin/ + +RUN chmod uga+x /usr/local/bin/install-php-extensions RUN apk --no-cache add tzdata \ && cp "/usr/share/zoneinfo/$TZ" /etc/localtime \ && echo "$TZ" > /etc/timezone -# Fix: https://github.com/docker-library/php/issues/240 -RUN apk add gnu-libiconv libstdc++ --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/edge/community/ --allow-untrusted +# Fix: https://github.com/docker-library/php/issues/1121 +RUN apk add --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/v3.13/community/ gnu-libiconv=1.15-r3 ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php # Install composer and change it's cache home -RUN curl -o /usr/bin/composer https://mirrors.aliyun.com/composer/composer.phar \ - && chmod +x /usr/bin/composer +RUN chmod +x install-composer.sh \ + && sh install-composer.sh \ + && rm -rf /tmp/extensions ENV COMPOSER_HOME=/tmp/composer # php image's www-data user uid & gid are 82, change them to 1000 (primary user) RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data -WORKDIR /www +WORKDIR /www \ No newline at end of file diff --git a/php7/7.2.34/build/php/Dockerfile b/php7/7.2.34/build/php/Dockerfile index f08259cf6..2fa10390f 100644 --- a/php7/7.2.34/build/php/Dockerfile +++ b/php7/7.2.34/build/php/Dockerfile @@ -8,33 +8,34 @@ ARG CONTAINER_PACKAGE_URL RUN if [ $CONTAINER_PACKAGE_URL ] ; then sed -i "s/dl-cdn.alpinelinux.org/${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories ; fi -ADD ./extensions/install-php-extensions /usr/local/bin/ - -RUN chmod uga+x /usr/local/bin/install-php-extensions COPY ./extensions /tmp/extensions WORKDIR /tmp/extensions RUN chmod +x install.sh \ - && sh install.sh \ - && rm -rf /tmp/extensions + && sh install.sh + +ADD ./extensions/install-php-extensions /usr/local/bin/ + +RUN chmod uga+x /usr/local/bin/install-php-extensions RUN apk --no-cache add tzdata \ && cp "/usr/share/zoneinfo/$TZ" /etc/localtime \ && echo "$TZ" > /etc/timezone -# Fix: https://github.com/docker-library/php/issues/240 -RUN apk add gnu-libiconv libstdc++ --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/edge/community/ --allow-untrusted +# Fix: https://github.com/docker-library/php/issues/1121 +RUN apk add --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/v3.13/community/ gnu-libiconv=1.15-r3 ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php # Install composer and change it's cache home -RUN curl -o /usr/bin/composer https://mirrors.aliyun.com/composer/composer.phar \ - && chmod +x /usr/bin/composer +RUN chmod +x install-composer.sh \ + && sh install-composer.sh \ + && rm -rf /tmp/extensions ENV COMPOSER_HOME=/tmp/composer # php image's www-data user uid & gid are 82, change them to 1000 (primary user) RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data -WORKDIR /www +WORKDIR /www \ No newline at end of file diff --git a/php7/7.3.33/build/php/Dockerfile b/php7/7.3.33/build/php/Dockerfile index f08259cf6..2fa10390f 100644 --- a/php7/7.3.33/build/php/Dockerfile +++ b/php7/7.3.33/build/php/Dockerfile @@ -8,33 +8,34 @@ ARG CONTAINER_PACKAGE_URL RUN if [ $CONTAINER_PACKAGE_URL ] ; then sed -i "s/dl-cdn.alpinelinux.org/${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories ; fi -ADD ./extensions/install-php-extensions /usr/local/bin/ - -RUN chmod uga+x /usr/local/bin/install-php-extensions COPY ./extensions /tmp/extensions WORKDIR /tmp/extensions RUN chmod +x install.sh \ - && sh install.sh \ - && rm -rf /tmp/extensions + && sh install.sh + +ADD ./extensions/install-php-extensions /usr/local/bin/ + +RUN chmod uga+x /usr/local/bin/install-php-extensions RUN apk --no-cache add tzdata \ && cp "/usr/share/zoneinfo/$TZ" /etc/localtime \ && echo "$TZ" > /etc/timezone -# Fix: https://github.com/docker-library/php/issues/240 -RUN apk add gnu-libiconv libstdc++ --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/edge/community/ --allow-untrusted +# Fix: https://github.com/docker-library/php/issues/1121 +RUN apk add --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/v3.13/community/ gnu-libiconv=1.15-r3 ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php # Install composer and change it's cache home -RUN curl -o /usr/bin/composer https://mirrors.aliyun.com/composer/composer.phar \ - && chmod +x /usr/bin/composer +RUN chmod +x install-composer.sh \ + && sh install-composer.sh \ + && rm -rf /tmp/extensions ENV COMPOSER_HOME=/tmp/composer # php image's www-data user uid & gid are 82, change them to 1000 (primary user) RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data -WORKDIR /www +WORKDIR /www \ No newline at end of file diff --git a/php7/7.4.33/build/php/Dockerfile b/php7/7.4.33/build/php/Dockerfile index f08259cf6..2fa10390f 100644 --- a/php7/7.4.33/build/php/Dockerfile +++ b/php7/7.4.33/build/php/Dockerfile @@ -8,33 +8,34 @@ ARG CONTAINER_PACKAGE_URL RUN if [ $CONTAINER_PACKAGE_URL ] ; then sed -i "s/dl-cdn.alpinelinux.org/${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories ; fi -ADD ./extensions/install-php-extensions /usr/local/bin/ - -RUN chmod uga+x /usr/local/bin/install-php-extensions COPY ./extensions /tmp/extensions WORKDIR /tmp/extensions RUN chmod +x install.sh \ - && sh install.sh \ - && rm -rf /tmp/extensions + && sh install.sh + +ADD ./extensions/install-php-extensions /usr/local/bin/ + +RUN chmod uga+x /usr/local/bin/install-php-extensions RUN apk --no-cache add tzdata \ && cp "/usr/share/zoneinfo/$TZ" /etc/localtime \ && echo "$TZ" > /etc/timezone -# Fix: https://github.com/docker-library/php/issues/240 -RUN apk add gnu-libiconv libstdc++ --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/edge/community/ --allow-untrusted +# Fix: https://github.com/docker-library/php/issues/1121 +RUN apk add --no-cache --repository http://${CONTAINER_PACKAGE_URL}/alpine/v3.13/community/ gnu-libiconv=1.15-r3 ENV LD_PRELOAD /usr/lib/preloadable_libiconv.so php # Install composer and change it's cache home -RUN curl -o /usr/bin/composer https://mirrors.aliyun.com/composer/composer.phar \ - && chmod +x /usr/bin/composer +RUN chmod +x install-composer.sh \ + && sh install-composer.sh \ + && rm -rf /tmp/extensions ENV COMPOSER_HOME=/tmp/composer # php image's www-data user uid & gid are 82, change them to 1000 (primary user) RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data -WORKDIR /www +WORKDIR /www \ No newline at end of file diff --git a/php8/8.0.28/build/php/Dockerfile b/php8/8.0.28/build/php/Dockerfile index f08259cf6..cc411ce97 100644 --- a/php8/8.0.28/build/php/Dockerfile +++ b/php8/8.0.28/build/php/Dockerfile @@ -8,16 +8,16 @@ ARG CONTAINER_PACKAGE_URL RUN if [ $CONTAINER_PACKAGE_URL ] ; then sed -i "s/dl-cdn.alpinelinux.org/${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories ; fi -ADD ./extensions/install-php-extensions /usr/local/bin/ - -RUN chmod uga+x /usr/local/bin/install-php-extensions - COPY ./extensions /tmp/extensions WORKDIR /tmp/extensions RUN chmod +x install.sh \ && sh install.sh \ && rm -rf /tmp/extensions +ADD ./extensions/install-php-extensions /usr/local/bin/ + +RUN chmod uga+x /usr/local/bin/install-php-extensions + RUN apk --no-cache add tzdata \ && cp "/usr/share/zoneinfo/$TZ" /etc/localtime \ && echo "$TZ" > /etc/timezone @@ -37,4 +37,4 @@ ENV COMPOSER_HOME=/tmp/composer RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data -WORKDIR /www +WORKDIR /www \ No newline at end of file diff --git a/php8/8.1.18/build/php/Dockerfile b/php8/8.1.18/build/php/Dockerfile index f08259cf6..cc411ce97 100644 --- a/php8/8.1.18/build/php/Dockerfile +++ b/php8/8.1.18/build/php/Dockerfile @@ -8,16 +8,16 @@ ARG CONTAINER_PACKAGE_URL RUN if [ $CONTAINER_PACKAGE_URL ] ; then sed -i "s/dl-cdn.alpinelinux.org/${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories ; fi -ADD ./extensions/install-php-extensions /usr/local/bin/ - -RUN chmod uga+x /usr/local/bin/install-php-extensions - COPY ./extensions /tmp/extensions WORKDIR /tmp/extensions RUN chmod +x install.sh \ && sh install.sh \ && rm -rf /tmp/extensions +ADD ./extensions/install-php-extensions /usr/local/bin/ + +RUN chmod uga+x /usr/local/bin/install-php-extensions + RUN apk --no-cache add tzdata \ && cp "/usr/share/zoneinfo/$TZ" /etc/localtime \ && echo "$TZ" > /etc/timezone @@ -37,4 +37,4 @@ ENV COMPOSER_HOME=/tmp/composer RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data -WORKDIR /www +WORKDIR /www \ No newline at end of file diff --git a/php8/8.2.5/build/php/Dockerfile b/php8/8.2.5/build/php/Dockerfile index f08259cf6..cc411ce97 100644 --- a/php8/8.2.5/build/php/Dockerfile +++ b/php8/8.2.5/build/php/Dockerfile @@ -8,16 +8,16 @@ ARG CONTAINER_PACKAGE_URL RUN if [ $CONTAINER_PACKAGE_URL ] ; then sed -i "s/dl-cdn.alpinelinux.org/${CONTAINER_PACKAGE_URL}/g" /etc/apk/repositories ; fi -ADD ./extensions/install-php-extensions /usr/local/bin/ - -RUN chmod uga+x /usr/local/bin/install-php-extensions - COPY ./extensions /tmp/extensions WORKDIR /tmp/extensions RUN chmod +x install.sh \ && sh install.sh \ && rm -rf /tmp/extensions +ADD ./extensions/install-php-extensions /usr/local/bin/ + +RUN chmod uga+x /usr/local/bin/install-php-extensions + RUN apk --no-cache add tzdata \ && cp "/usr/share/zoneinfo/$TZ" /etc/localtime \ && echo "$TZ" > /etc/timezone @@ -37,4 +37,4 @@ ENV COMPOSER_HOME=/tmp/composer RUN apk --no-cache add shadow && usermod -u 1000 www-data && groupmod -g 1000 www-data -WORKDIR /www +WORKDIR /www \ No newline at end of file