diff --git a/.ansible/group_vars/all/mods.yml b/.ansible/group_vars/all/mods.yml
index 2b8d3c87..b19b61d0 100644
--- a/.ansible/group_vars/all/mods.yml
+++ b/.ansible/group_vars/all/mods.yml
@@ -38,6 +38,8 @@ extensions_enabled:
- ioncube
- json
- ldap
+ - lz4
+ - lzf
- mcrypt
- memcache
- msgpack
@@ -66,6 +68,7 @@ extensions_enabled:
- pdo_sqlsrv
- pgsql
- psr
+ - zstd
- redis
- sqlite3
- sqlsrv
@@ -475,6 +478,35 @@ extensions_available:
pre: ln -s /usr/lib/$(dpkg-architecture --query DEB_BUILD_GNU_TYPE)/libldap* /usr/lib/
configure: --with-ldap --with-ldap-sasl
build_dep: [libldap2-dev, libsasl2-dev]
+ lz4:
+ disabled: [5.2, 5.3, 5.4, 5.5, 5.6]
+ all:
+ type: git
+ git_url: https://github.com/kjdev/php-ext-lz4
+ git_ref: $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1)
+ configure: --enable-lz4 --with-lz4-includedir=/usr
+ build_dep: [liblz4-dev]
+ run_dep: [liblz4-1]
+ lzf:
+ disabled: [5.2, 5.3, 5.4, 5.5, 5.6]
+ all:
+ type: pecl
+ build_dep: [liblzf-dev]
+ run_dep: [liblzf1]
+ 7.2:
+ type: pecl
+ build_dep: []
+ run_dep: []
+ 7.1:
+ type: pecl
+ version: 1.6.8
+ build_dep: []
+ run_dep: []
+ 7.0:
+ type: pecl
+ version: 1.6.8
+ build_dep: []
+ run_dep: []
mcrypt:
disabled: [8.1, 8.2]
all:
@@ -938,60 +970,137 @@ extensions_available:
5.4:
type: pecl
version: 0.5.1
+ zstd:
+ disabled: [5.2, 5.3, 5.4, 5.5, 5.6]
+ all:
+ type: git
+ git_url: https://github.com/kjdev/php-ext-zstd
+ git_ref: $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1)
+ configure: --enable-zstd --with-libzstd
+ build_dep: [libzstd-dev]
+ run_dep: [libzstd1]
+ 7.0:
+ type: pecl
+ build_dep: [libzstd-dev]
+ run_dep: [libzstd1]
redis:
disabled: []
all:
type: git
git_url: https://github.com/phpredis/phpredis
- git_ref: $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1)
+ git_ref: $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1)
+ pre: |
+ if [ -f /usr/include/liblzf/lzf.h ]; then \
+ ln -s /usr/include/liblzf/lzf.h /usr/include/; \
+ fi \
command: |
REDIS_ARGS=""; \
- if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
+ if php -m | grep -q "igbinary"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
fi; \
- if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
+ if php -m | grep -q "lz4"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
+ fi; \
+ if php -m | grep -q "lzf"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lzf --with-liblzf=/usr"; \
+ fi; \
+ if php -m | grep -q "msgpack"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
fi; \
+ if php -m | grep -q "zstd"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
+ fi; \
phpize \
&& ./configure --enable-redis ${REDIS_ARGS} \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
- 8.2:
+ build_dep:
+ - liblz4-dev
+ - liblzf-dev
+ - libzstd-dev
+ run_dep:
+ - liblz4-1
+ - liblzf1
+ - libzstd1
+ 7.2:
type: git
git_url: https://github.com/phpredis/phpredis
- git_ref: $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1)
+ git_ref: $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1)
command: |
REDIS_ARGS=""; \
- if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
+ if php -m | grep -q "igbinary"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
fi; \
- if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
+ if php -m | grep -q "lz4"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
+ fi; \
+ if php -m | grep -q "msgpack"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
fi; \
+ if php -m | grep -q "zstd"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
+ fi; \
phpize \
&& ./configure --enable-redis ${REDIS_ARGS} \
- && sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' library.c \
- && sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' redis_array_impl.c \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
- 8.1:
+ build_dep:
+ - liblz4-dev
+ - libzstd-dev
+ run_dep:
+ - liblz4-1
+ - libzstd1
+ 7.1:
+ type: git
+ git_url: https://github.com/phpredis/phpredis
+ git_ref: $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1)
+ command: |
+ REDIS_ARGS=""; \
+ if php -m | grep -q "igbinary"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
+ fi; \
+ if php -m | grep -q "lz4"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
+ fi; \
+ if php -m | grep -q "msgpack"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
+ fi; \
+ if php -m | grep -q "zstd"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
+ fi; \
+ phpize \
+ && ./configure --enable-redis ${REDIS_ARGS} \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ build_dep:
+ - liblz4-dev
+ - libzstd-dev
+ run_dep:
+ - liblz4-1
+ - libzstd1
+ 7.0:
type: git
git_url: https://github.com/phpredis/phpredis
- git_ref: $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1)
+ git_ref: $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1)
command: |
REDIS_ARGS=""; \
- if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
+ if php -m | grep -q "igbinary"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
fi; \
- if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
+ if php -m | grep -q "lz4"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
+ fi; \
+ if php -m | grep -q "msgpack"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
fi; \
phpize \
&& ./configure --enable-redis ${REDIS_ARGS} \
- && sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' library.c \
- && sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' redis_array_impl.c \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
+ build_dep:
+ - liblz4-dev
+ run_dep:
+ - liblz4-1
5.6:
type: pecl
version: 4.3.0
diff --git a/Dockerfiles/mods/Dockerfile-5.2 b/Dockerfiles/mods/Dockerfile-5.2
index 3e2e3820..9617bcbf 100644
--- a/Dockerfiles/mods/Dockerfile-5.2
+++ b/Dockerfiles/mods/Dockerfile-5.2
@@ -22,6 +22,8 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
+ liblz4-dev \
+ liblzf-dev \
libmagic-dev \
libmcrypt-dev \
libmemcached-dev \
@@ -41,6 +43,7 @@ RUN set -eux \
libxpm-dev \
libxslt-dev \
libzip-dev \
+ libzstd-dev \
snmp \
zlib1g-dev \
# Build tools
@@ -384,6 +387,11 @@ RUN set -eux \
# -------------------- Installing PHP Extension: redis --------------------
RUN set -eux \
+ # Generic pre-command
+ && if [ -f /usr/include/liblzf/lzf.h ]; then \
+ ln -s /usr/include/liblzf/lzf.h /usr/include/; \
+fi \
+ \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
@@ -595,6 +603,8 @@ RUN set -eux \
libfreetype6 \
libicu52 \
libjpeg62-turbo \
+ liblz4-1 \
+ liblzf1 \
libmagic1 \
libmcrypt4 \
libmemcachedutil2 \
@@ -610,6 +620,7 @@ RUN set -eux \
libxpm4 \
libxslt1.1 \
libzip2 \
+ libzstd1 \
snmp \
ca-certificates \
&& rm -rf /var/lib/apt/lists/* \
diff --git a/Dockerfiles/mods/Dockerfile-5.3 b/Dockerfiles/mods/Dockerfile-5.3
index eaa1f8e8..ce47a80b 100644
--- a/Dockerfiles/mods/Dockerfile-5.3
+++ b/Dockerfiles/mods/Dockerfile-5.3
@@ -26,6 +26,8 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
+ liblz4-dev \
+ liblzf-dev \
libmcrypt-dev \
libmemcached-dev \
libmysqlclient-dev \
@@ -47,6 +49,7 @@ RUN set -eux \
libxslt-dev \
libyaml-dev \
libzip-dev \
+ libzstd-dev \
re2c \
snmp \
uuid-dev \
@@ -459,6 +462,11 @@ RUN set -eux \
# -------------------- Installing PHP Extension: redis --------------------
RUN set -eux \
+ # Generic pre-command
+ && if [ -f /usr/include/liblzf/lzf.h ]; then \
+ ln -s /usr/include/liblzf/lzf.h /usr/include/; \
+fi \
+ \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
@@ -720,6 +728,8 @@ RUN set -eux \
libfreetype6 \
libicu52 \
libjpeg62-turbo \
+ liblz4-1 \
+ liblzf1 \
libmcrypt4 \
libmemcachedutil2 \
libmysqlclient18 \
@@ -738,6 +748,7 @@ RUN set -eux \
libxslt1.1 \
libyaml-0-2 \
libzip2 \
+ libzstd1 \
snmp \
uuid \
zlib1g \
diff --git a/Dockerfiles/mods/Dockerfile-5.4 b/Dockerfiles/mods/Dockerfile-5.4
index 1ef24b06..1281bef3 100644
--- a/Dockerfiles/mods/Dockerfile-5.4
+++ b/Dockerfiles/mods/Dockerfile-5.4
@@ -26,6 +26,8 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
+ liblz4-dev \
+ liblzf-dev \
libmcrypt-dev \
libmemcached-dev \
libmysqlclient-dev \
@@ -47,6 +49,7 @@ RUN set -eux \
libxslt-dev \
libyaml-dev \
libzip-dev \
+ libzstd-dev \
re2c \
snmp \
uuid-dev \
@@ -470,6 +473,11 @@ RUN set -eux \
# -------------------- Installing PHP Extension: redis --------------------
RUN set -eux \
+ # Generic pre-command
+ && if [ -f /usr/include/liblzf/lzf.h ]; then \
+ ln -s /usr/include/liblzf/lzf.h /usr/include/; \
+fi \
+ \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
@@ -731,6 +739,8 @@ RUN set -eux \
libfreetype6 \
libicu52 \
libjpeg62-turbo \
+ liblz4-1 \
+ liblzf1 \
libmcrypt4 \
libmemcachedutil2 \
libmysqlclient18 \
@@ -749,6 +759,7 @@ RUN set -eux \
libxslt1.1 \
libyaml-0-2 \
libzip2 \
+ libzstd1 \
snmp \
uuid \
zlib1g \
diff --git a/Dockerfiles/mods/Dockerfile-5.5 b/Dockerfiles/mods/Dockerfile-5.5
index 1a2993db..22a68398 100644
--- a/Dockerfiles/mods/Dockerfile-5.5
+++ b/Dockerfiles/mods/Dockerfile-5.5
@@ -27,6 +27,8 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
+ liblz4-dev \
+ liblzf-dev \
libmagickwand-dev \
libmcrypt-dev \
libmemcached-dev \
@@ -49,6 +51,7 @@ RUN set -eux \
libxslt-dev \
libyaml-dev \
libzip-dev \
+ libzstd-dev \
re2c \
snmp \
uuid-dev \
@@ -508,6 +511,11 @@ RUN set -eux \
# -------------------- Installing PHP Extension: redis --------------------
RUN set -eux \
+ # Generic pre-command
+ && if [ -f /usr/include/liblzf/lzf.h ]; then \
+ ln -s /usr/include/liblzf/lzf.h /usr/include/; \
+fi \
+ \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
@@ -770,6 +778,8 @@ RUN set -eux \
libfreetype6 \
libicu52 \
libjpeg62-turbo \
+ liblz4-1 \
+ liblzf1 \
libmagickwand-6.q16-2 \
libmcrypt4 \
libmemcachedutil2 \
@@ -789,6 +799,7 @@ RUN set -eux \
libxslt1.1 \
libyaml-0-2 \
libzip2 \
+ libzstd1 \
snmp \
uuid \
zlib1g \
diff --git a/Dockerfiles/mods/Dockerfile-5.6 b/Dockerfiles/mods/Dockerfile-5.6
index f134700a..9c436fb3 100644
--- a/Dockerfiles/mods/Dockerfile-5.6
+++ b/Dockerfiles/mods/Dockerfile-5.6
@@ -27,6 +27,8 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
+ liblz4-dev \
+ liblzf-dev \
libmagickwand-dev \
libmariadbclient-dev \
libmcrypt-dev \
@@ -50,6 +52,7 @@ RUN set -eux \
libxslt-dev \
libyaml-dev \
libzip-dev \
+ libzstd-dev \
re2c \
snmp \
uuid-dev \
@@ -519,6 +522,11 @@ RUN set -eux \
# -------------------- Installing PHP Extension: redis --------------------
RUN set -eux \
+ # Generic pre-command
+ && if [ -f /usr/include/liblzf/lzf.h ]; then \
+ ln -s /usr/include/liblzf/lzf.h /usr/include/; \
+fi \
+ \
# Installation: Version specific
# Type: PECL extension
# Default: Pecl command
@@ -789,6 +797,8 @@ RUN set -eux \
libfreetype6 \
libicu57 \
libjpeg62-turbo \
+ liblz4-1 \
+ liblzf1 \
libmagickwand-6.q16-3 \
libmariadbclient18 \
libmcrypt4 \
@@ -807,6 +817,7 @@ RUN set -eux \
libxslt1.1 \
libyaml-0-2 \
libzip4 \
+ libzstd1 \
snmp \
uuid \
zlib1g \
diff --git a/Dockerfiles/mods/Dockerfile-7.0 b/Dockerfiles/mods/Dockerfile-7.0
index 374deee6..dbb23b3e 100644
--- a/Dockerfiles/mods/Dockerfile-7.0
+++ b/Dockerfiles/mods/Dockerfile-7.0
@@ -27,6 +27,7 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
+ liblz4-dev \
libmagickwand-dev \
libmariadbclient-dev \
libmcrypt-dev \
@@ -53,6 +54,7 @@ RUN set -eux \
libxslt-dev \
libyaml-dev \
libzip-dev \
+ libzstd-dev \
re2c \
snmp \
unixodbc-dev \
@@ -303,6 +305,35 @@ RUN set -eux \
&& true
+# -------------------- Installing PHP Extension: lz4 --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-lz4 /tmp/lz4 \
+ && cd /tmp/lz4 \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-lz4 --with-lz4-includedir=/usr \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable lz4 \
+ && true
+
+
+# -------------------- Installing PHP Extension: lzf --------------------
+RUN set -eux \
+ # Installation: Version specific
+ # Type: PECL extension
+ # Default: Pecl command
+ && pecl install lzf-1.6.8 \
+ # Enabling
+ && docker-php-ext-enable lzf \
+ && true
+
+
# -------------------- Installing PHP Extension: mcrypt --------------------
RUN set -eux \
# Installation: Version specific
@@ -549,20 +580,39 @@ RUN set -eux \
&& true
+# -------------------- Installing PHP Extension: zstd --------------------
+RUN set -eux \
+ # Installation: Version specific
+ # Type: PECL extension
+ # Default: Pecl command
+ && pecl install zstd \
+ # Enabling
+ && docker-php-ext-enable zstd \
+ && true
+
+
# -------------------- Installing PHP Extension: redis --------------------
RUN set -eux \
- # Installation: Generic
+ # Generic pre-command
+ && if [ -f /usr/include/liblzf/lzf.h ]; then \
+ ln -s /usr/include/liblzf/lzf.h /usr/include/; \
+fi \
+ \
+ # Installation: Version specific
# Type: GIT extension
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
&& cd /tmp/redis \
# 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) \
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
# Custom: Install command
&& REDIS_ARGS=""; \
-if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
+if php -m | grep -q "igbinary"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
fi; \
-if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
+if php -m | grep -q "lz4"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
+fi; \
+if php -m | grep -q "msgpack"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
fi; \
phpize \
@@ -880,6 +930,7 @@ RUN set -eux \
libfreetype6 \
libicu57 \
libjpeg62-turbo \
+ liblz4-1 \
libmagickwand-6.q16-3 \
libmariadbclient18 \
libmcrypt4 \
@@ -900,6 +951,7 @@ RUN set -eux \
libxslt1.1 \
libyaml-0-2 \
libzip4 \
+ libzstd1 \
snmp \
unixodbc \
uuid \
@@ -1029,6 +1081,10 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
+ && php -m | grep -oiE '^lz4$' \
+ && php-fpm -m | grep -oiE '^lz4$' \
+ && php -m | grep -oiE '^lzf$' \
+ && php-fpm -m | grep -oiE '^lzf$' \
&& php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^memcache$' \
@@ -1075,6 +1131,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
+ && php -m | grep -oiE '^zstd$' \
+ && php-fpm -m | grep -oiE '^zstd$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^sqlite3$' \
diff --git a/Dockerfiles/mods/Dockerfile-7.1 b/Dockerfiles/mods/Dockerfile-7.1
index 71d50970..5134b727 100644
--- a/Dockerfiles/mods/Dockerfile-7.1
+++ b/Dockerfiles/mods/Dockerfile-7.1
@@ -27,6 +27,7 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
+ liblz4-dev \
libmagickwand-dev \
libmariadb-dev \
libmcrypt-dev \
@@ -53,6 +54,7 @@ RUN set -eux \
libxslt-dev \
libyaml-dev \
libzip-dev \
+ libzstd-dev \
re2c \
snmp \
unixodbc-dev \
@@ -303,6 +305,35 @@ RUN set -eux \
&& true
+# -------------------- Installing PHP Extension: lz4 --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-lz4 /tmp/lz4 \
+ && cd /tmp/lz4 \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-lz4 --with-lz4-includedir=/usr \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable lz4 \
+ && true
+
+
+# -------------------- Installing PHP Extension: lzf --------------------
+RUN set -eux \
+ # Installation: Version specific
+ # Type: PECL extension
+ # Default: Pecl command
+ && pecl install lzf-1.6.8 \
+ # Enabling
+ && docker-php-ext-enable lzf \
+ && true
+
+
# -------------------- Installing PHP Extension: mcrypt --------------------
RUN set -eux \
# Installation: Version specific
@@ -547,22 +578,51 @@ RUN set -eux \
&& true
-# -------------------- Installing PHP Extension: redis --------------------
+# -------------------- Installing PHP Extension: zstd --------------------
RUN set -eux \
# Installation: Generic
# Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-zstd /tmp/zstd \
+ && cd /tmp/zstd \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-zstd --with-libzstd \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable zstd \
+ && true
+
+
+# -------------------- Installing PHP Extension: redis --------------------
+RUN set -eux \
+ # Generic pre-command
+ && if [ -f /usr/include/liblzf/lzf.h ]; then \
+ ln -s /usr/include/liblzf/lzf.h /usr/include/; \
+fi \
+ \
+ # Installation: Version specific
+ # Type: GIT extension
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
&& cd /tmp/redis \
# 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) \
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
# Custom: Install command
&& REDIS_ARGS=""; \
-if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
+if php -m | grep -q "igbinary"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
fi; \
-if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
+if php -m | grep -q "lz4"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
+fi; \
+if php -m | grep -q "msgpack"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
fi; \
+if php -m | grep -q "zstd"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
+fi; \
phpize \
&& ./configure --enable-redis ${REDIS_ARGS} \
&& make -j$(getconf _NPROCESSORS_ONLN) \
@@ -888,6 +948,7 @@ RUN set -eux \
libfreetype6 \
libicu63 \
libjpeg62-turbo \
+ liblz4-1 \
libmagickwand-6.q16-6 \
libmariadbd19 \
libmcrypt4 \
@@ -908,6 +969,7 @@ RUN set -eux \
libxslt1.1 \
libyaml-0-2 \
libzip4 \
+ libzstd1 \
snmp \
unixodbc \
uuid \
@@ -1037,6 +1099,10 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
+ && php -m | grep -oiE '^lz4$' \
+ && php-fpm -m | grep -oiE '^lz4$' \
+ && php -m | grep -oiE '^lzf$' \
+ && php-fpm -m | grep -oiE '^lzf$' \
&& php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^memcache$' \
@@ -1083,6 +1149,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
+ && php -m | grep -oiE '^zstd$' \
+ && php-fpm -m | grep -oiE '^zstd$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^sqlite3$' \
diff --git a/Dockerfiles/mods/Dockerfile-7.2 b/Dockerfiles/mods/Dockerfile-7.2
index 94c8e421..75a9eeac 100644
--- a/Dockerfiles/mods/Dockerfile-7.2
+++ b/Dockerfiles/mods/Dockerfile-7.2
@@ -27,6 +27,7 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
+ liblz4-dev \
libmagickwand-dev \
libmariadb-dev \
libmcrypt-dev \
@@ -53,6 +54,7 @@ RUN set -eux \
libxslt-dev \
libyaml-dev \
libzip-dev \
+ libzstd-dev \
re2c \
snmp \
unixodbc-dev \
@@ -303,6 +305,35 @@ RUN set -eux \
&& true
+# -------------------- Installing PHP Extension: lz4 --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-lz4 /tmp/lz4 \
+ && cd /tmp/lz4 \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-lz4 --with-lz4-includedir=/usr \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable lz4 \
+ && true
+
+
+# -------------------- Installing PHP Extension: lzf --------------------
+RUN set -eux \
+ # Installation: Version specific
+ # Type: PECL extension
+ # Default: Pecl command
+ && pecl install lzf \
+ # Enabling
+ && docker-php-ext-enable lzf \
+ && true
+
+
# -------------------- Installing PHP Extension: mcrypt --------------------
RUN set -eux \
# Installation: Version specific
@@ -550,22 +581,51 @@ RUN set -eux \
&& true
-# -------------------- Installing PHP Extension: redis --------------------
+# -------------------- Installing PHP Extension: zstd --------------------
RUN set -eux \
# Installation: Generic
# Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-zstd /tmp/zstd \
+ && cd /tmp/zstd \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-zstd --with-libzstd \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable zstd \
+ && true
+
+
+# -------------------- Installing PHP Extension: redis --------------------
+RUN set -eux \
+ # Generic pre-command
+ && if [ -f /usr/include/liblzf/lzf.h ]; then \
+ ln -s /usr/include/liblzf/lzf.h /usr/include/; \
+fi \
+ \
+ # Installation: Version specific
+ # Type: GIT extension
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
&& cd /tmp/redis \
# 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) \
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
# Custom: Install command
&& REDIS_ARGS=""; \
-if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
+if php -m | grep -q "igbinary"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
fi; \
-if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
+if php -m | grep -q "lz4"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
+fi; \
+if php -m | grep -q "msgpack"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
fi; \
+if php -m | grep -q "zstd"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
+fi; \
phpize \
&& ./configure --enable-redis ${REDIS_ARGS} \
&& make -j$(getconf _NPROCESSORS_ONLN) \
@@ -891,6 +951,7 @@ RUN set -eux \
libfreetype6 \
libicu63 \
libjpeg62-turbo \
+ liblz4-1 \
libmagickwand-6.q16-6 \
libmariadbd19 \
libmcrypt4 \
@@ -911,6 +972,7 @@ RUN set -eux \
libxslt1.1 \
libyaml-0-2 \
libzip4 \
+ libzstd1 \
snmp \
unixodbc \
uuid \
@@ -1040,6 +1102,10 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
+ && php -m | grep -oiE '^lz4$' \
+ && php-fpm -m | grep -oiE '^lz4$' \
+ && php -m | grep -oiE '^lzf$' \
+ && php-fpm -m | grep -oiE '^lzf$' \
&& php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^memcache$' \
@@ -1086,6 +1152,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
+ && php -m | grep -oiE '^zstd$' \
+ && php-fpm -m | grep -oiE '^zstd$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^sqlite3$' \
diff --git a/Dockerfiles/mods/Dockerfile-7.3 b/Dockerfiles/mods/Dockerfile-7.3
index 89940e21..1a112175 100644
--- a/Dockerfiles/mods/Dockerfile-7.3
+++ b/Dockerfiles/mods/Dockerfile-7.3
@@ -26,6 +26,8 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
+ liblz4-dev \
+ liblzf-dev \
libmagickwand-dev \
libmariadb-dev \
libmcrypt-dev \
@@ -52,6 +54,7 @@ RUN set -eux \
libxslt-dev \
libyaml-dev \
libzip-dev \
+ libzstd-dev \
re2c \
snmp \
unixodbc-dev \
@@ -293,6 +296,35 @@ RUN set -eux \
&& true
+# -------------------- Installing PHP Extension: lz4 --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-lz4 /tmp/lz4 \
+ && cd /tmp/lz4 \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-lz4 --with-lz4-includedir=/usr \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable lz4 \
+ && true
+
+
+# -------------------- Installing PHP Extension: lzf --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: PECL extension
+ # Default: Pecl command
+ && pecl install lzf \
+ # Enabling
+ && docker-php-ext-enable lzf \
+ && true
+
+
# -------------------- Installing PHP Extension: mcrypt --------------------
RUN set -eux \
# Installation: Version specific
@@ -540,22 +572,54 @@ RUN set -eux \
&& true
+# -------------------- Installing PHP Extension: zstd --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-zstd /tmp/zstd \
+ && cd /tmp/zstd \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-zstd --with-libzstd \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable zstd \
+ && true
+
+
# -------------------- Installing PHP Extension: redis --------------------
RUN set -eux \
+ # Generic pre-command
+ && if [ -f /usr/include/liblzf/lzf.h ]; then \
+ ln -s /usr/include/liblzf/lzf.h /usr/include/; \
+fi \
+ \
# Installation: Generic
# Type: GIT extension
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
&& cd /tmp/redis \
# Custom: Branch
- && git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
# Custom: Install command
&& REDIS_ARGS=""; \
-if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
+if php -m | grep -q "igbinary"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
fi; \
-if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
+if php -m | grep -q "lz4"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
+fi; \
+if php -m | grep -q "lzf"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lzf --with-liblzf=/usr"; \
+fi; \
+if php -m | grep -q "msgpack"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
fi; \
+if php -m | grep -q "zstd"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
+fi; \
phpize \
&& ./configure --enable-redis ${REDIS_ARGS} \
&& make -j$(getconf _NPROCESSORS_ONLN) \
@@ -880,6 +944,8 @@ RUN set -eux \
libfreetype6 \
libicu67 \
libjpeg62-turbo \
+ liblz4-1 \
+ liblzf1 \
libmagickwand-6.q16-6 \
libmariadbd19 \
libmcrypt4 \
@@ -900,6 +966,7 @@ RUN set -eux \
libxslt1.1 \
libyaml-0-2 \
libzip4 \
+ libzstd1 \
snmp \
unixodbc \
uuid \
@@ -1027,6 +1094,10 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
+ && php -m | grep -oiE '^lz4$' \
+ && php-fpm -m | grep -oiE '^lz4$' \
+ && php -m | grep -oiE '^lzf$' \
+ && php-fpm -m | grep -oiE '^lzf$' \
&& php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^memcache$' \
@@ -1073,6 +1144,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
+ && php -m | grep -oiE '^zstd$' \
+ && php-fpm -m | grep -oiE '^zstd$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^sqlite3$' \
diff --git a/Dockerfiles/mods/Dockerfile-7.4 b/Dockerfiles/mods/Dockerfile-7.4
index 533216c1..5013c12b 100644
--- a/Dockerfiles/mods/Dockerfile-7.4
+++ b/Dockerfiles/mods/Dockerfile-7.4
@@ -27,6 +27,8 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
+ liblz4-dev \
+ liblzf-dev \
libmagickwand-dev \
libmariadb-dev \
libmcrypt-dev \
@@ -52,6 +54,7 @@ RUN set -eux \
libxslt-dev \
libyaml-dev \
libzip-dev \
+ libzstd-dev \
re2c \
snmp \
unixodbc-dev \
@@ -293,6 +296,35 @@ RUN set -eux \
&& true
+# -------------------- Installing PHP Extension: lz4 --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-lz4 /tmp/lz4 \
+ && cd /tmp/lz4 \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-lz4 --with-lz4-includedir=/usr \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable lz4 \
+ && true
+
+
+# -------------------- Installing PHP Extension: lzf --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: PECL extension
+ # Default: Pecl command
+ && pecl install lzf \
+ # Enabling
+ && docker-php-ext-enable lzf \
+ && true
+
+
# -------------------- Installing PHP Extension: mcrypt --------------------
RUN set -eux \
# Installation: Generic
@@ -540,22 +572,54 @@ RUN set -eux \
&& true
+# -------------------- Installing PHP Extension: zstd --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-zstd /tmp/zstd \
+ && cd /tmp/zstd \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-zstd --with-libzstd \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable zstd \
+ && true
+
+
# -------------------- Installing PHP Extension: redis --------------------
RUN set -eux \
+ # Generic pre-command
+ && if [ -f /usr/include/liblzf/lzf.h ]; then \
+ ln -s /usr/include/liblzf/lzf.h /usr/include/; \
+fi \
+ \
# Installation: Generic
# Type: GIT extension
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
&& cd /tmp/redis \
# Custom: Branch
- && git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
# Custom: Install command
&& REDIS_ARGS=""; \
-if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
+if php -m | grep -q "igbinary"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
fi; \
-if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
+if php -m | grep -q "lz4"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
+fi; \
+if php -m | grep -q "lzf"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lzf --with-liblzf=/usr"; \
+fi; \
+if php -m | grep -q "msgpack"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
fi; \
+if php -m | grep -q "zstd"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
+fi; \
phpize \
&& ./configure --enable-redis ${REDIS_ARGS} \
&& make -j$(getconf _NPROCESSORS_ONLN) \
@@ -869,6 +933,8 @@ RUN set -eux \
libfreetype6 \
libicu67 \
libjpeg62-turbo \
+ liblz4-1 \
+ liblzf1 \
libmagickwand-6.q16-6 \
libmariadbd19 \
libmcrypt4 \
@@ -888,6 +954,7 @@ RUN set -eux \
libxslt1.1 \
libyaml-0-2 \
libzip4 \
+ libzstd1 \
snmp \
unixodbc \
uuid \
@@ -1014,6 +1081,10 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
+ && php -m | grep -oiE '^lz4$' \
+ && php-fpm -m | grep -oiE '^lz4$' \
+ && php -m | grep -oiE '^lzf$' \
+ && php-fpm -m | grep -oiE '^lzf$' \
&& php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^memcache$' \
@@ -1060,6 +1131,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
+ && php -m | grep -oiE '^zstd$' \
+ && php-fpm -m | grep -oiE '^zstd$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^sqlite3$' \
diff --git a/Dockerfiles/mods/Dockerfile-8.0 b/Dockerfiles/mods/Dockerfile-8.0
index e748ef05..560ee378 100644
--- a/Dockerfiles/mods/Dockerfile-8.0
+++ b/Dockerfiles/mods/Dockerfile-8.0
@@ -27,6 +27,8 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
+ liblz4-dev \
+ liblzf-dev \
libmagickwand-dev \
libmariadb-dev \
libmcrypt-dev \
@@ -52,6 +54,7 @@ RUN set -eux \
libxslt-dev \
libyaml-dev \
libzip-dev \
+ libzstd-dev \
re2c \
snmp \
unixodbc-dev \
@@ -276,6 +279,35 @@ RUN set -eux \
&& true
+# -------------------- Installing PHP Extension: lz4 --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-lz4 /tmp/lz4 \
+ && cd /tmp/lz4 \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-lz4 --with-lz4-includedir=/usr \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable lz4 \
+ && true
+
+
+# -------------------- Installing PHP Extension: lzf --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: PECL extension
+ # Default: Pecl command
+ && pecl install lzf \
+ # Enabling
+ && docker-php-ext-enable lzf \
+ && true
+
+
# -------------------- Installing PHP Extension: mcrypt --------------------
RUN set -eux \
# Installation: Generic
@@ -523,22 +555,54 @@ RUN set -eux \
&& true
+# -------------------- Installing PHP Extension: zstd --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-zstd /tmp/zstd \
+ && cd /tmp/zstd \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-zstd --with-libzstd \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable zstd \
+ && true
+
+
# -------------------- Installing PHP Extension: redis --------------------
RUN set -eux \
+ # Generic pre-command
+ && if [ -f /usr/include/liblzf/lzf.h ]; then \
+ ln -s /usr/include/liblzf/lzf.h /usr/include/; \
+fi \
+ \
# Installation: Generic
# Type: GIT extension
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
&& cd /tmp/redis \
# Custom: Branch
- && git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
# Custom: Install command
&& REDIS_ARGS=""; \
-if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
+if php -m | grep -q "igbinary"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
fi; \
-if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
+if php -m | grep -q "lz4"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
+fi; \
+if php -m | grep -q "lzf"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lzf --with-liblzf=/usr"; \
+fi; \
+if php -m | grep -q "msgpack"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
fi; \
+if php -m | grep -q "zstd"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
+fi; \
phpize \
&& ./configure --enable-redis ${REDIS_ARGS} \
&& make -j$(getconf _NPROCESSORS_ONLN) \
@@ -843,6 +907,8 @@ RUN set -eux \
libfreetype6 \
libicu67 \
libjpeg62-turbo \
+ liblz4-1 \
+ liblzf1 \
libmagickwand-6.q16-6 \
libmariadbd19 \
libmcrypt4 \
@@ -861,6 +927,7 @@ RUN set -eux \
libxslt1.1 \
libyaml-0-2 \
libzip4 \
+ libzstd1 \
snmp \
unixodbc \
uuid \
@@ -989,6 +1056,10 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
+ && php -m | grep -oiE '^lz4$' \
+ && php-fpm -m | grep -oiE '^lz4$' \
+ && php -m | grep -oiE '^lzf$' \
+ && php-fpm -m | grep -oiE '^lzf$' \
&& php -m | grep -oiE '^mcrypt$' \
&& php-fpm -m | grep -oiE '^mcrypt$' \
&& php -m | grep -oiE '^memcache$' \
@@ -1035,6 +1106,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
+ && php -m | grep -oiE '^zstd$' \
+ && php-fpm -m | grep -oiE '^zstd$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^sqlite3$' \
diff --git a/Dockerfiles/mods/Dockerfile-8.1 b/Dockerfiles/mods/Dockerfile-8.1
index 705e8a43..4a2e8c68 100644
--- a/Dockerfiles/mods/Dockerfile-8.1
+++ b/Dockerfiles/mods/Dockerfile-8.1
@@ -28,6 +28,8 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
+ liblz4-dev \
+ liblzf-dev \
libmagickwand-dev \
libmariadb-dev \
libmemcached-dev \
@@ -52,6 +54,7 @@ RUN set -eux \
libxslt-dev \
libyaml-dev \
libzip-dev \
+ libzstd-dev \
re2c \
snmp \
unixodbc-dev \
@@ -262,6 +265,35 @@ RUN set -eux \
&& true
+# -------------------- Installing PHP Extension: lz4 --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-lz4 /tmp/lz4 \
+ && cd /tmp/lz4 \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-lz4 --with-lz4-includedir=/usr \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable lz4 \
+ && true
+
+
+# -------------------- Installing PHP Extension: lzf --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: PECL extension
+ # Default: Pecl command
+ && pecl install lzf \
+ # Enabling
+ && docker-php-ext-enable lzf \
+ && true
+
+
# -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \
# Installation: Generic
@@ -501,26 +533,56 @@ RUN set -eux \
&& true
+# -------------------- Installing PHP Extension: zstd --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-zstd /tmp/zstd \
+ && cd /tmp/zstd \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-zstd --with-libzstd \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable zstd \
+ && true
+
+
# -------------------- Installing PHP Extension: redis --------------------
RUN set -eux \
- # Installation: Version specific
+ # Generic pre-command
+ && if [ -f /usr/include/liblzf/lzf.h ]; then \
+ ln -s /usr/include/liblzf/lzf.h /usr/include/; \
+fi \
+ \
+ # Installation: Generic
# Type: GIT extension
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
&& cd /tmp/redis \
# Custom: Branch
- && git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
# Custom: Install command
&& REDIS_ARGS=""; \
-if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
+if php -m | grep -q "igbinary"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
fi; \
-if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
+if php -m | grep -q "lz4"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
+fi; \
+if php -m | grep -q "lzf"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lzf --with-liblzf=/usr"; \
+fi; \
+if php -m | grep -q "msgpack"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
fi; \
+if php -m | grep -q "zstd"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
+fi; \
phpize \
&& ./configure --enable-redis ${REDIS_ARGS} \
-&& sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' library.c \
-&& sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' redis_array_impl.c \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
\
@@ -831,6 +893,8 @@ RUN set -eux \
libfreetype6 \
libicu67 \
libjpeg62-turbo \
+ liblz4-1 \
+ liblzf1 \
libmagickwand-6.q16-6 \
libmariadbd19 \
libmemcachedutil2 \
@@ -848,6 +912,7 @@ RUN set -eux \
libxslt1.1 \
libyaml-0-2 \
libzip4 \
+ libzstd1 \
snmp \
unixodbc \
uuid \
@@ -976,6 +1041,10 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
+ && php -m | grep -oiE '^lz4$' \
+ && php-fpm -m | grep -oiE '^lz4$' \
+ && php -m | grep -oiE '^lzf$' \
+ && php-fpm -m | grep -oiE '^lzf$' \
&& php -m | grep -oiE '^memcache$' \
&& php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^msgpack$' \
@@ -1020,6 +1089,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
+ && php -m | grep -oiE '^zstd$' \
+ && php-fpm -m | grep -oiE '^zstd$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^sqlite3$' \
diff --git a/Dockerfiles/mods/Dockerfile-8.2 b/Dockerfiles/mods/Dockerfile-8.2
index dd993800..fd330e1f 100644
--- a/Dockerfiles/mods/Dockerfile-8.2
+++ b/Dockerfiles/mods/Dockerfile-8.2
@@ -27,6 +27,8 @@ RUN set -eux \
libjpeg-dev \
libkrb5-dev \
libldap2-dev \
+ liblz4-dev \
+ liblzf-dev \
libmagickwand-dev \
libmariadb-dev \
libmemcached-dev \
@@ -48,6 +50,7 @@ RUN set -eux \
libxslt-dev \
libyaml-dev \
libzip-dev \
+ libzstd-dev \
snmp \
unixodbc-dev \
uuid-dev \
@@ -257,6 +260,35 @@ RUN set -eux \
&& true
+# -------------------- Installing PHP Extension: lz4 --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-lz4 /tmp/lz4 \
+ && cd /tmp/lz4 \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-lz4 --with-lz4-includedir=/usr \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable lz4 \
+ && true
+
+
+# -------------------- Installing PHP Extension: lzf --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: PECL extension
+ # Default: Pecl command
+ && pecl install lzf \
+ # Enabling
+ && docker-php-ext-enable lzf \
+ && true
+
+
# -------------------- Installing PHP Extension: memcache --------------------
RUN set -eux \
# Installation: Generic
@@ -507,26 +539,56 @@ RUN set -eux \
&& true
+# -------------------- Installing PHP Extension: zstd --------------------
+RUN set -eux \
+ # Installation: Generic
+ # Type: GIT extension
+ && git clone https://github.com/kjdev/php-ext-zstd /tmp/zstd \
+ && cd /tmp/zstd \
+ # Custom: Branch
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
+ # Default: Install command
+ && phpize \
+ && ./configure --enable-zstd --with-libzstd \
+ && make -j$(getconf _NPROCESSORS_ONLN) \
+ && make install \
+ # Enabling
+ && docker-php-ext-enable zstd \
+ && true
+
+
# -------------------- Installing PHP Extension: redis --------------------
RUN set -eux \
- # Installation: Version specific
+ # Generic pre-command
+ && if [ -f /usr/include/liblzf/lzf.h ]; then \
+ ln -s /usr/include/liblzf/lzf.h /usr/include/; \
+fi \
+ \
+ # Installation: Generic
# Type: GIT extension
&& git clone https://github.com/phpredis/phpredis /tmp/redis \
&& cd /tmp/redis \
# Custom: Branch
- && git checkout $(git for-each-ref --format='%(refname)' refs/tags | grep -E 'tags/[.0-9]+$' | sed 's|.*tags/||g' | sort -V | tail -1) \
+ && git checkout $(git tag | grep -E '^[.0-9]+$' | sort -V | tail -1) \
# Custom: Install command
&& REDIS_ARGS=""; \
-if [ -d "/usr/local/include/php/ext/igbinary" ]; then \
+if php -m | grep -q "igbinary"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-igbinary"; \
fi; \
-if [ -d "/usr/local/include/php/ext/msgpack" ]; then \
+if php -m | grep -q "lz4"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lz4 --with-liblz4=/usr"; \
+fi; \
+if php -m | grep -q "lzf"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-lzf --with-liblzf=/usr"; \
+fi; \
+if php -m | grep -q "msgpack"; then \
REDIS_ARGS="${REDIS_ARGS} --enable-redis-msgpack"; \
fi; \
+if php -m | grep -q "zstd"; then \
+ REDIS_ARGS="${REDIS_ARGS} --enable-redis-zstd"; \
+fi; \
phpize \
&& ./configure --enable-redis ${REDIS_ARGS} \
-&& sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' library.c \
-&& sed -i'' 's/ops->hash_init(ctx);/ops->hash_init(ctx, NULL);/g' redis_array_impl.c \
&& make -j$(getconf _NPROCESSORS_ONLN) \
&& make install \
\
@@ -782,6 +844,8 @@ RUN set -eux \
libfreetype6 \
libicu67 \
libjpeg62-turbo \
+ liblz4-1 \
+ liblzf1 \
libmagickwand-6.q16-6 \
libmariadbd19 \
libmemcachedutil2 \
@@ -797,6 +861,7 @@ RUN set -eux \
libxslt1.1 \
libyaml-0-2 \
libzip4 \
+ libzstd1 \
snmp \
unixodbc \
uuid \
@@ -925,6 +990,10 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^json$' \
&& php -m | grep -oiE '^ldap$' \
&& php-fpm -m | grep -oiE '^ldap$' \
+ && php -m | grep -oiE '^lz4$' \
+ && php-fpm -m | grep -oiE '^lz4$' \
+ && php -m | grep -oiE '^lzf$' \
+ && php-fpm -m | grep -oiE '^lzf$' \
&& php -m | grep -oiE '^memcache$' \
&& php-fpm -m | grep -oiE '^memcache$' \
&& php -m | grep -oiE '^msgpack$' \
@@ -969,6 +1038,8 @@ RUN set -eux \
&& php-fpm -m | grep -oiE '^pgsql$' \
&& php -m | grep -oiE '^psr$' \
&& php-fpm -m | grep -oiE '^psr$' \
+ && php -m | grep -oiE '^zstd$' \
+ && php-fpm -m | grep -oiE '^zstd$' \
&& php -m | grep -oiE '^redis$' \
&& php-fpm -m | grep -oiE '^redis$' \
&& php -m | grep -oiE '^sqlite3$' \
diff --git a/README.md b/README.md
index 1b43c415..81f6baaf 100644
--- a/README.md
+++ b/README.md
@@ -119,6 +119,8 @@ The provided Docker images heavily rely on inheritance to guarantee smallest pos
[`json`](php_modules/json/)
[`ldap`](php_modules/ldap/)
[`libxml`](php_modules/libxml/)
+[`lz4`](php_modules/lz4/)
+[`lzf`](php_modules/lzf/)
[`mbstring`](php_modules/mbstring/)
[`mcrypt`](php_modules/mcrypt/)
[`memcache`](php_modules/memcache/)
@@ -189,6 +191,7 @@ The provided Docker images heavily rely on inheritance to guarantee smallest pos
[`yaml`](php_modules/yaml/)
[`zip`](php_modules/zip/)
[`zlib`](php_modules/zlib/)
+[`zstd`](php_modules/zstd/)
:information_source: For details see **[Documentation: PHP Modules](doc/php-modules.md)**
diff --git a/doc/php-modules.md b/doc/php-modules.md
index 01900a54..5145d070 100644
--- a/doc/php-modules.md
+++ b/doc/php-modules.md
@@ -1188,6 +1188,38 @@ The following PHP modules are available on the `mods`, `prod` and `work` flavour