diff --git a/CHANGELOG.md b/CHANGELOG.md index d5c21ba..a87d63d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,16 @@ ## Unreleased +## Release 0.118 + +#### Added +- [#182](https://github.com/devilbox/docker-php-fpm/issues/182) Added `ioncube` to PHP 7.4 +- Added `sqlsrv` to PHP 7.4 + +#### Changed +- Updated xdebug to latest possible version + + ## Release 0.117 #### Fixed diff --git a/Dockerfiles/mods/Dockerfile-7.0 b/Dockerfiles/mods/Dockerfile-7.0 index 5b4743f..7b7834b 100644 --- a/Dockerfiles/mods/Dockerfile-7.0 +++ b/Dockerfiles/mods/Dockerfile-7.0 @@ -709,7 +709,7 @@ RUN set -eux \ # Installation: Version specific # Type: PECL extension # Default: Pecl command - && pecl install xdebug-2.9.0 \ + && pecl install xdebug-2.9.8 \ # Enabling && docker-php-ext-enable xdebug \ && true diff --git a/Dockerfiles/mods/Dockerfile-7.1 b/Dockerfiles/mods/Dockerfile-7.1 index d61d6f6..6176dde 100644 --- a/Dockerfiles/mods/Dockerfile-7.1 +++ b/Dockerfiles/mods/Dockerfile-7.1 @@ -716,10 +716,10 @@ RUN set -eux \ # -------------------- Installing PHP Extension: xdebug -------------------- RUN set -eux \ - # Installation: Generic + # Installation: Version specific # Type: PECL extension # Default: Pecl command - && pecl install xdebug \ + && pecl install xdebug-2.9.8 \ # Enabling && docker-php-ext-enable xdebug \ && true diff --git a/Dockerfiles/mods/Dockerfile-7.4 b/Dockerfiles/mods/Dockerfile-7.4 index af77d9c..c5d9990 100644 --- a/Dockerfiles/mods/Dockerfile-7.4 +++ b/Dockerfiles/mods/Dockerfile-7.4 @@ -68,6 +68,7 @@ RUN set -eux \ libyaml-dev \ libzip-dev \ snmp \ + unixodbc-dev \ zlib1g-dev \ ca-certificates \ git @@ -87,6 +88,23 @@ RUN set -eux \ echo "ffi.enable = 1" >> /usr/local/etc/php/conf.d/docker-php-ext-ffi.ini; \ fi +# -------------------- Installing PHP Extension: ioncube -------------------- +RUN set -eux \ + # Installation: Generic + # Type: Custom extension + && EXTENSION_DIR="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )" \ +&& if [ ! -d "${EXTENSION_DIR}" ]; then mkdir -p "${EXTENSION_DIR}"; fi \ +&& curl https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_x86-64.tar.gz -L -o ioncube.tar.gz \ +&& tar xvfz ioncube.tar.gz \ +&& cd ioncube \ +&& cp "ioncube_loader_lin_7.4.so" "${EXTENSION_DIR}/ioncube.so" \ +&& cd ../ \ +&& rm -rf ioncube \ +&& rm -rf ioncube.tar.gz \ + \ + && true + + # -------------------- Installing PHP Extension: amqp -------------------- RUN set -eux \ # Installation: Generic @@ -581,6 +599,17 @@ RUN set -eux \ && true +# -------------------- Installing PHP Extension: sqlsrv -------------------- +RUN set -eux \ + # Installation: Generic + # Type: PECL extension + # Default: Pecl command + && pecl install sqlsrv \ + # Enabling + && docker-php-ext-enable sqlsrv \ + && true + + # -------------------- Installing PHP Extension: ssh2 -------------------- RUN set -eux \ # Installation: Generic @@ -839,6 +868,7 @@ RUN set -eux \ libyaml-0-2 \ libzip4 \ snmp \ + unixodbc \ ca-certificates \ && rm -rf /var/lib/apt/lists/* \ \ @@ -1021,6 +1051,8 @@ RUN set -eux \ && php-fpm -m | grep -oiE '^solr$' \ && php -m | grep -oiE '^spl$' \ && php-fpm -m | grep -oiE '^spl$' \ + && php -m | grep -oiE '^sqlsrv$' \ + && php-fpm -m | grep -oiE '^sqlsrv$' \ && php -m | grep -oiE '^ssh2$' \ && php-fpm -m | grep -oiE '^ssh2$' \ && php -m | grep -oiE '^swoole$' \ diff --git a/Dockerfiles/mods/Dockerfile-8.0 b/Dockerfiles/mods/Dockerfile-8.0 index 911e073..51798a1 100644 --- a/Dockerfiles/mods/Dockerfile-8.0 +++ b/Dockerfiles/mods/Dockerfile-8.0 @@ -435,8 +435,10 @@ RUN set -eux \ RUN set -eux \ # Installation: Version specific # Type: GIT extension - && git clone https://github.com/xdebug/xdebug /tmp/xdebug \ + && git clone ttps://github.com/xdebug/xdebug /tmp/xdebug \ && cd /tmp/xdebug \ + # Custom: Branch + && git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \ # Default: Install command && phpize \ && ./configure --enable-xdebug \ diff --git a/Dockerfiles/mods/Dockerfile-8.1 b/Dockerfiles/mods/Dockerfile-8.1 index f75dcfa..6b84e71 100644 --- a/Dockerfiles/mods/Dockerfile-8.1 +++ b/Dockerfiles/mods/Dockerfile-8.1 @@ -437,6 +437,8 @@ RUN set -eux \ # Type: GIT extension && git clone https://github.com/xdebug/xdebug /tmp/xdebug \ && cd /tmp/xdebug \ + # Custom: Branch + && git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \ # Default: Install command && phpize \ && ./configure --enable-xdebug \ diff --git a/README.md b/README.md index 2e9224f..51bb9cf 100644 --- a/README.md +++ b/README.md @@ -676,7 +676,7 @@ Check out this table to see which Docker image provides what PHP modules. 7.4 Core, ctype, curl, date, dom, fileinfo, filter, ftp, hash, iconv, json, libxml, mbstring, mysqlnd, openssl, pcre, PDO, pdo_sqlite, Phar, posix, readline, Reflection, session, SimpleXML, sodium, SPL, sqlite3, standard, tokenizer, xml, xmlreader, xmlwriter, zlib - amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib + amqp, apcu, bcmath, blackfire, bz2, calendar, Core, ctype, curl, date, dba, dom, enchant, exif, FFI, fileinfo, filter, ftp, gd, gettext, gmp, hash, iconv, igbinary, imagick, imap, intl, ioncube, json, ldap, libxml, mbstring, mcrypt, memcache, memcached, mongodb, msgpack, mysqli, mysqlnd, OAuth, oci8, openssl, pcntl, pcre, PDO, pdo_dblib, PDO_Firebird, pdo_mysql, PDO_OCI, pdo_pgsql, pdo_sqlite, pgsql, phalcon, Phar, posix, pspell, psr, rdkafka, readline, redis, Reflection, session, shmop, SimpleXML, snmp, soap, sockets, sodium, solr, SPL, sqlite3, sqlsrv, ssh2, standard, swoole, sysvmsg, sysvsem, sysvshm, tidy, tokenizer, uploadprogress, vips, xdebug, xlswriter, xml, xmlreader, xmlrpc, xmlwriter, xsl, yaml, Zend OPcache, zip, zlib 8.0 diff --git a/build/ansible/group_vars/all/mods.yml b/build/ansible/group_vars/all/mods.yml index 0bb77b6..6bf1463 100644 --- a/build/ansible/group_vars/all/mods.yml +++ b/build/ansible/group_vars/all/mods.yml @@ -413,7 +413,7 @@ extensions_available: build_dep: [libicu-dev] run_dep: [libicu63] ioncube: - disabled: [7.4, 8.0, 8.1] + disabled: [8.0, 8.1] all: type: custom command: | @@ -938,7 +938,7 @@ extensions_available: spl: already_avail: "{{ php_all_versions }}" sqlsrv: - disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 7.4, 8.0, 8.1] + disabled: [5.2, 5.3, 5.4, 5.5, 5.6, 8.0, 8.1] 7.0: type: pecl version: 5.3.0 @@ -1152,14 +1152,19 @@ extensions_available: version: 2.4.1 7.0: type: pecl - version: 2.9.0 + version: 2.9.8 + 7.1: + type: pecl + version: 2.9.8 8.0: type: git - git_url: https://github.com/xdebug/xdebug + git_url: ttps://github.com/xdebug/xdebug + git_ref: $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) configure: --enable-xdebug 8.1: type: git git_url: https://github.com/xdebug/xdebug + git_ref: $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) configure: --enable-xdebug all: type: pecl