From d56469d230ecc2fd921d6182ee2aea1ad8bf64b5 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Thu, 1 Feb 2024 15:20:41 +0100 Subject: [PATCH 01/11] sqlsrv/pdo_sqlsrv: fix installing on PHP 8.0, update msodbcsql on Alpine (#877) --- install-php-extensions | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/install-php-extensions b/install-php-extensions index 02a40cc5..79ba5157 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -2051,7 +2051,7 @@ installMicrosoftSqlServerODBC() { alpine) rm -rf /tmp/src/msodbcsql.apk if test $PHP_MAJMIN_VERSION -le 703; then - curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.9.1.1-1_amd64.apk + curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/e/4/e/e4e67866-dffd-428c-aac7-8d28ddafb39b/msodbcsql17_17.10.5.1-1_amd64.apk else case $(uname -m) in aarch64 | arm64 | armv8) @@ -2061,7 +2061,7 @@ installMicrosoftSqlServerODBC() { installMicrosoftSqlServerODBC_arch=amd64 ;; esac - curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.1.1-1_$installMicrosoftSqlServerODBC_arch.apk + curl -sSLf -o /tmp/src/msodbcsql.apk https://download.microsoft.com/download/3/5/5/355d7943-a338-41a7-858d-53b259ea33f5/msodbcsql18_18.3.2.1-1_$installMicrosoftSqlServerODBC_arch.apk fi printf '\n' | apk add --allow-untrusted /tmp/src/msodbcsql.apk rm -rf /tmp/src/msodbcsql.apk @@ -3632,6 +3632,8 @@ installRemoteModule() { installRemoteModule_version=5.9.0 elif test $PHP_MAJMIN_VERSION -le 704; then installRemoteModule_version=5.10.1 + elif test $PHP_MAJMIN_VERSION -le 800; then + installRemoteModule_version=5.11.1 fi fi ;; From 9ba2b2a8f042e3913b37b9d51b180c56ea46250c Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Mon, 5 Feb 2024 10:06:11 +0100 Subject: [PATCH 02/11] Fix installing datadog_trace when specifying the version (#881) --- install-php-extensions | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/install-php-extensions b/install-php-extensions index 79ba5157..2cfa8a1e 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -387,7 +387,8 @@ resolvePHPModuleVersion() { resolvePHPModuleVersion_wantedVersion="$resolvePHPModuleVersion_afterCaret" ;; esac - resolvePHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$resolvePHPModuleVersion_module/allreleases.xml")" + resolvePHPModuleVersion_peclModule="$(getPeclModuleName "$resolvePHPModuleVersion_module")" + resolvePHPModuleVersion_xml="$(curl -sSLf "http://pecl.php.net/rest/r/$resolvePHPModuleVersion_peclModule/allreleases.xml")" # remove line endings, collapse spaces resolvePHPModuleVersion_versions="$(printf '%s' "$resolvePHPModuleVersion_xml" | tr -s ' \t\r\n' ' ')" # one line per release (eg 1.2.3stable) @@ -449,7 +450,8 @@ resolvePeclStabilityVersion() { return ;; esac - peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$1/$2.txt" + resolvePeclStabilityVersion_peclModule="$(getPeclModuleName "$1")" + peclStabilityFlagToVersion_url="http://pecl.php.net/rest/r/$resolvePeclStabilityVersion_peclModule/$2.txt" if ! peclStabilityFlagToVersion_result="$(curl -sSLf "$peclStabilityFlagToVersion_url")"; then peclStabilityFlagToVersion_result='' fi @@ -2760,9 +2762,12 @@ installRemoteModule() { if test -z "$installRemoteModule_version"; then if test $PHP_MAJMIN_VERSION -lt 700; then installRemoteModule_version=0.75.0 - else - installCargo fi + else + installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")" + fi + if test -z "$installRemoteModule_version" || test $(compareVersions "$installRemoteModule_version" 0.75.0) -ge 0; then + installCargo fi ;; decimal) From c34a2b1f42c11ca47a50ce86b864101d45ae58b4 Mon Sep 17 00:00:00 2001 From: Raymond Jay Golo Date: Mon, 5 Feb 2024 17:33:05 +0800 Subject: [PATCH 03/11] Use GitHub mirror instead of VideoLAN's for reliability. (#879) --- install-php-extensions | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/install-php-extensions b/install-php-extensions index 2cfa8a1e..ef49a9af 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -2141,7 +2141,7 @@ isLibdav1dInstalled() { # Install libdav1d installLibdav1d() { printf 'Installing libdav1d\n' - installLibdav1d_dir="$(getPackageSource https://code.videolan.org/videolan/dav1d/-/archive/0.9.2/dav1d-0.9.2.tar.gz)" + installLibdav1d_dir="$(getPackageSource https://github.com/videolan/dav1d/archive/refs/tags/0.9.2.tar.gz)" mkdir -- "$installLibdav1d_dir/build" cd -- "$installLibdav1d_dir/build" meson --buildtype release -Dprefix=/usr .. From c4c0e173dbb13c555fde9efc993462aa4da5a6a8 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Mon, 5 Feb 2024 11:24:42 +0100 Subject: [PATCH 04/11] Update libaom 3.3.0 > 3.8.1, libdav1d 0.9.2 > 1.3.0, libyuv 25d0a51 > d359a9f, libavif 0.9.3 > 1.0.3 (#883) --- install-php-extensions | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/install-php-extensions b/install-php-extensions index ef49a9af..cbc7d35d 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -2114,7 +2114,7 @@ isLibaomInstalled() { # Install libaom installLibaom() { printf 'Installing libaom\n' - installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v3.3.0.tar.gz)" + installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v3.8.1.tar.gz)" mkdir -- "$installLibaom_dir/my.build" cd -- "$installLibaom_dir/my.build" cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -DENABLE_DOCS=0 -DENABLE_EXAMPLES=0 -DENABLE_TESTDATA=0 -DENABLE_TESTS=0 -DENABLE_TOOLS=0 -DCMAKE_INSTALL_LIBDIR:PATH=lib .. @@ -2141,7 +2141,7 @@ isLibdav1dInstalled() { # Install libdav1d installLibdav1d() { printf 'Installing libdav1d\n' - installLibdav1d_dir="$(getPackageSource https://github.com/videolan/dav1d/archive/refs/tags/0.9.2.tar.gz)" + installLibdav1d_dir="$(getPackageSource https://github.com/videolan/dav1d/archive/refs/tags/1.3.0.tar.gz)" mkdir -- "$installLibdav1d_dir/build" cd -- "$installLibdav1d_dir/build" meson --buildtype release -Dprefix=/usr .. @@ -2171,7 +2171,7 @@ isLibyuvInstalled() { # Install libyuv installLibyuv() { printf 'Installing libyuv\n' - installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/25d0a5110be796eef47004412baf43333d9ecf26.tar.gz)" + installLibyuv_dir="$(getPackageSource https://chromium.googlesource.com/libyuv/libyuv/+archive/d359a9f922af840b043535d43cf9d38b220d102e.tar.gz)" mkdir -- "$installLibyuv_dir/build" cd -- "$installLibyuv_dir/build" cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr -B. .. @@ -2197,7 +2197,7 @@ isLibavifInstalled() { # Install libavif installLibavif() { printf 'Installing libavif\n' - installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v0.9.3)" + installLibavif_dir="$(getPackageSource https://codeload.github.com/AOMediaCodec/libavif/tar.gz/refs/tags/v1.0.3)" mkdir -- "$installLibavif_dir/build" cd -- "$installLibavif_dir/build" cmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=ON -DAVIF_CODEC_AOM=ON -DCMAKE_INSTALL_LIBDIR:PATH=lib From 9ae52941f5f19cace68e426f2ae69dd6c0006026 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Mon, 5 Feb 2024 11:59:23 +0100 Subject: [PATCH 05/11] Always enable (fast) support for AVIF on Debian 12 (Bookworm) (#884) --- README.md | 2 +- install-php-extensions | 14 +++++++++++--- 2 files changed, 12 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index cc090e27..a3ec1088 100644 --- a/README.md +++ b/README.md @@ -412,7 +412,7 @@ Here's the list of all the supported environment variables: | | `IPE_KEEP_SYSPKG_CACHE=1` | By default the script will clear the apt/apk/pear cache in order to save disk space. You can disable it by setting this environment variable | | lzf | `IPE_LZF_BETTERCOMPRESSION=1` | By default `install-php-extensions` compiles the `lzf` extension to prefer speed over size; you can use this environment variable to compile it preferring size over speed | | event | `IPE_EVENT_NAMESPACE=`... | By default the `event` classes are defined in the root namespace. You can use this environment variable to specify a custom namespace | -| gd | `IPE_GD_WITHOUTAVIF=1` | Since PHP 8.1, gd supports the AVIF format. Enabling it requires compiling libaom/libdav1d/libyuv/libavif on Debian and Alpine 3.14-, which is time-consuming. You can disable AVIF support by setting this environment variable on Debian and Alpine 3.14- | +| gd | `IPE_GD_WITHOUTAVIF=1` | Since PHP 8.1, gd supports the AVIF format. Enabling it requires compiling libaom/libdav1d/libyuv/libavif on Debian 11- and Alpine 3.14-, which is time-consuming. You can disable AVIF support by setting this environment variable on Debian 11- and Alpine 3.14- | | oci8 & pdo_oci | `IPE_INSTANTCLIENT_BASIC=1` | The oci8 and pdo_oci PHP extensions require [Oracle Instant Client](https://www.oracle.com/database/technologies/instant-client.html). In order to save disk space, we install the Basic Lite version: if you want to install the Basic (non-lite) version simply set this environment variable | | http, intl, mongodb | `IPE_ICU_EN_ONLY=1` | Some extensions require the ICU library, use this flag to install a smaller, but English-only, ICU library on Alpine 3.16 and later | | pspell | `IPE_ASPELL_LANGUAGES='...'` | Configure the languages to be made available (for example: `IPE_ASPELL_LANGUAGES='en fr'`). If omitted, we'll assume `en` | diff --git a/install-php-extensions b/install-php-extensions index cbc7d35d..aad72bff 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -862,7 +862,10 @@ buildRequiredPackageLists() { buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libwebp[0-9]+$" buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libwebp-dev" if test $PHP_MAJMIN_VERSION -ge 801; then - if ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then + if test $DISTRO_VERSION_NUMBER -ge 12; then + buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent ^libavif[0-9]+$ ^libaom[0-9]+$ ^libdav1d[0-9]+$" + buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libavif-dev libaom-dev libdav1d-dev" + elif ! isLibaomInstalled || ! isLibdav1dInstalled || ! isLibyuvInstalled || ! isLibavifInstalled; then case "${IPE_GD_WITHOUTAVIF:-}" in 1 | y* | Y*) ;; *) @@ -2102,7 +2105,7 @@ installMicrosoftSqlServerODBC() { # 0 (true) # 1 (false) isLibaomInstalled() { - if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so; then + if ! test -f /usr/local/lib/libaom.so && ! test -f /usr/lib/libaom.so && ! test -f /usr/lib/x86_64*/libaom.so; then return 1 fi if ! test -f /usr/local/include/aom/aom_codec.h && ! test -f /usr/include/aom/aom_codec.h; then @@ -2159,7 +2162,7 @@ installLibdav1d() { # 0 (true) # 1 (false) isLibyuvInstalled() { - if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so; then + if ! test -f /usr/local/lib/libyuv.so && ! test -f /usr/lib/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so && ! test -f /usr/lib/x86_64*/libyuv.so.*; then return 1 fi if ! test -f /usr/local/include/libyuv.h && ! test -f /usr/include/libyuv.h; then @@ -2435,6 +2438,11 @@ EOF installBundledModule_tmp=1 fi ;; + debian) + if test $DISTRO_VERSION_NUMBER -ge 12; then + installBundledModule_tmp=1 + fi + ;; esac if test $installBundledModule_tmp -eq 0; then case "${IPE_GD_WITHOUTAVIF:-}" in From 68552b1e16307f0413b623d5a714c7fd66f6d968 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Tue, 6 Feb 2024 16:00:16 +0100 Subject: [PATCH 06/11] Fix installing AOM on Debian 10 with arm architecture (#886) --- install-php-extensions | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/install-php-extensions b/install-php-extensions index aad72bff..9a84d44a 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -2117,7 +2117,18 @@ isLibaomInstalled() { # Install libaom installLibaom() { printf 'Installing libaom\n' - installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v3.8.1.tar.gz)" + installLibaom_version=3.8.1 + case "$DISTRO_VERSION" in + debian@10) + case $(uname -m) in + aarch* | arm*) + #see https://bugs.chromium.org/p/aomedia/issues/detail?id=3543 + installLibaom_version=3.5.0 + ;; + esac + ;; + esac + installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v$installLibaom_version.tar.gz)" mkdir -- "$installLibaom_dir/my.build" cd -- "$installLibaom_dir/my.build" cmake -G Ninja -DCMAKE_BUILD_TYPE=Release -DBUILD_SHARED_LIBS=1 -DENABLE_DOCS=0 -DENABLE_EXAMPLES=0 -DENABLE_TESTDATA=0 -DENABLE_TESTS=0 -DENABLE_TOOLS=0 -DCMAKE_INSTALL_LIBDIR:PATH=lib .. From 76789743a7b78ea345baa59bbb4fc9b4237875d0 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Thu, 8 Feb 2024 16:10:38 +0100 Subject: [PATCH 07/11] Add support for saxon (#889) --- MAINTAINERS.md | 5 +++++ data/special-requirements | 1 + data/supported-extensions | 1 + install-php-extensions | 5 ++--- scripts/check-installed-extension.php | 1 + 5 files changed, 10 insertions(+), 3 deletions(-) diff --git a/MAINTAINERS.md b/MAINTAINERS.md index 90e19ea7..55edd7e0 100644 --- a/MAINTAINERS.md +++ b/MAINTAINERS.md @@ -99,6 +99,11 @@ We should switch to the stable release once it will be available. The only available versions of the `parle` PHP extension are all beta. We should switch to the stable release once it will be available. +### saxon + +The `saxon` PHP extension is not available in the PECL archive, so we install it manually. +We need to monitor new releases at https://www.saxonica.com/download/c.xml + ### snappy The `snappy` PHP extension is not available in the PECL archive, so we install it manually. diff --git a/data/special-requirements b/data/special-requirements index 9c45e5c1..9b63b33a 100644 --- a/data/special-requirements +++ b/data/special-requirements @@ -8,6 +8,7 @@ parallel zts parle !jessie pdo_sqlsrv !arm pthreads zts +saxon !alpine simdjson !jessie !stretch sodium !jessie sqlsrv !7.1-alpine3.9 !7.1-alpine3.10 !arm diff --git a/data/supported-extensions b/data/supported-extensions index 880434b7..eeb89d1a 100644 --- a/data/supported-extensions +++ b/data/supported-extensions @@ -92,6 +92,7 @@ rdkafka 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 recode 5.5 5.6 7.0 7.1 7.2 7.3 redis 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 relay 7.4 8.0 8.1 8.2 8.3 +saxon 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 seasclick 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 seaslog 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 shmop 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 diff --git a/install-php-extensions b/install-php-extensions index 9a84d44a..e836f94d 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -3517,8 +3517,8 @@ installRemoteModule() { ;; saxon) if test -z "$installRemoteModule_version"; then - if test $PHP_MAJMIN_VERSION -le 506; then - installRemoteModule_version='11.6' + if test $PHP_MAJMIN_VERSION -ge 800; then + installRemoteModule_version='12.4.2' else installRemoteModule_version='12.3' fi @@ -3546,7 +3546,6 @@ installRemoteModule() { ldconfig || true fi cd "$installRemoteModule_dir/Saxon.C.API" - exit phpize ./configure --enable-saxon make -j$(getProcessorCount) install diff --git a/scripts/check-installed-extension.php b/scripts/check-installed-extension.php index d0604d71..54d6ad96 100644 --- a/scripts/check-installed-extension.php +++ b/scripts/check-installed-extension.php @@ -6,6 +6,7 @@ 'opcache' => 'Zend OPcache', 'apcu_bc' => 'apc', 'ioncube_loader' => 'ionCube Loader', + 'saxon' => 'saxonc', ]; if (PHP_VERSION_ID < 70000) { $nameMap['sodium'] = 'libsodium'; From 4e5f6152b90217f750a0274c19afe8c9f19d52ba Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Thu, 8 Feb 2024 15:10:52 +0000 Subject: [PATCH 08/11] [skip ci] Automatically update README.md --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index a3ec1088..f2e44f88 100644 --- a/README.md +++ b/README.md @@ -296,6 +296,7 @@ install-php-extensions @fix_letsencrypt | recode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | | | redis | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | relay | | | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | +| saxon[*](#special-requirements-for-saxon) | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | seasclick | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | seaslog | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | shmop | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | @@ -346,7 +347,7 @@ install-php-extensions @fix_letsencrypt | zookeeper | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | zstd | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | -*Number of supported extensions: 143* +*Number of supported extensions: 144* PS: the pre-installed PHP extensions are excluded from this list. @@ -442,6 +443,7 @@ Some extensions have special requirements: | parle | Not available in `jessie` docker images | | pdo_sqlsrv | Not available in ARM architectures | | pthreads | Requires images with PHP compiled with thread-safety enabled (`zts`) | +| saxon | Not available in `alpine` docker images | | simdjson | • Not available in `jessie` docker images
• Not available in `stretch` docker images | | sodium | Not available in `jessie` docker images | | sqlsrv | • Not available in `7.1-alpine3.9` docker images
• Not available in `7.1-alpine3.10` docker images
• Not available in ARM architectures | From bddbbfc0490942696368c1517a28cc628dba69b0 Mon Sep 17 00:00:00 2001 From: AndersonPEM Date: Tue, 13 Feb 2024 11:05:59 +0000 Subject: [PATCH 09/11] Dockerfile: The ADD statement now supports changing permissions on the fly. No RUN chmod necessary. (#890) Co-authored-by: Anderson Souza --- README.md | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index f2e44f88..c92d925e 100644 --- a/README.md +++ b/README.md @@ -26,10 +26,9 @@ Here's a list of sample `Dockerfile`s that install the GD and xdebug PHP extensi ```Dockerfile FROM php:7.2-cli -ADD https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ +ADD --chmod=0755 https://github.com/mlocati/docker-php-extension-installer/releases/latest/download/install-php-extensions /usr/local/bin/ -RUN chmod +x /usr/local/bin/install-php-extensions && \ - install-php-extensions gd xdebug +RUN install-php-extensions gd xdebug ``` ### Downloading the script on the fly with `curl` From 615bfd2522ae7ceaccf55d66cc14345fc6850358 Mon Sep 17 00:00:00 2001 From: Michele Locati Date: Thu, 15 Feb 2024 14:40:47 +0100 Subject: [PATCH 10/11] Fix badge of "Test Recent" GitHub Actions --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index c92d925e..550768b5 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ [![Downloaded GitHub Releases](https://img.shields.io/github/downloads/mlocati/docker-php-extension-installer/total?label=Downloaded%20releases)](https://github.com/mlocati/docker-php-extension-installer/releases) [![Docker Hub pulls](https://img.shields.io/docker/pulls/mlocati/php-extension-installer)](https://hub.docker.com/r/mlocati/php-extension-installer) -[![Test recent](https://github.com/mlocati/docker-php-extension-installer/workflows/Test%20recent/badge.svg)](https://github.com/mlocati/docker-php-extension-installer/actions?query=workflow%3A%22Test+recent%22) +[![Test recent](https://github.com/mlocati/docker-php-extension-installer/actions/workflows/test-recent-extensions.yml/badge.svg)](https://github.com/mlocati/docker-php-extension-installer/actions/workflows/test-recent-extensions.yml) # Easy installation of PHP extensions in official PHP Docker images From a2854649faf250d6ba82e999439afbcbee4d7ce6 Mon Sep 17 00:00:00 2001 From: Kelvin Romero <8683337+kelvinromero@users.noreply.github.com> Date: Thu, 29 Feb 2024 09:36:23 -0300 Subject: [PATCH 11/11] Update README.md (#893) Makes number of processors explicit. --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 550768b5..1355b787 100644 --- a/README.md +++ b/README.md @@ -407,11 +407,11 @@ Here's the list of all the supported environment variables: | Extension | Environment variable | Description | |---|---|---| | | `IPE_DEBUG=1` | By setting this environment variable, the script will print all the commands it executes (it will be very verbose, useful only for debug purposes) | -| | `IPE_PROCESSOR_COUNT` | Set this environment variable to override the number of processors detected by the script (used for parallel compilation) | -| | `IPE_DONT_ENABLE=1` | By default the script will install and enable the extensions.
If you want to only install them (without enabling them) you can set this environment variable.
To enable the extensions at a later time you can execute the command `docker-php-ext-enable-` (for example: `docker-php-ext-enable-xdebug`).
**Beware**: installing some PHP extensions require that other PHP extensions are already enabled, so use this feature wisely. | +| | `IPE_PROCESSOR_COUNT` | By default all available processors. Set this environment variable to override the number of processors detected by the script (used for parallel compilation) | +| | `IPE_DONT_ENABLE=1` | By default the script will install and enable the extensions.
If you want to only install them (without enabling them) you can set this environment variable.
To enable the extensions at a later time you can execute the command `docker-php-ext-enable-` (for example: `docker-php-ext-enable-xdebug`).
**Beware**: installing some PHP extensions requires that other PHP extensions are already enabled, so use this feature wisely. | | | `IPE_KEEP_SYSPKG_CACHE=1` | By default the script will clear the apt/apk/pear cache in order to save disk space. You can disable it by setting this environment variable | | lzf | `IPE_LZF_BETTERCOMPRESSION=1` | By default `install-php-extensions` compiles the `lzf` extension to prefer speed over size; you can use this environment variable to compile it preferring size over speed | -| event | `IPE_EVENT_NAMESPACE=`... | By default the `event` classes are defined in the root namespace. You can use this environment variable to specify a custom namespace | +| event | `IPE_EVENT_NAMESPACE=`... | By default, the `event` classes are defined in the root namespace. You can use this environment variable to specify a custom namespace | | gd | `IPE_GD_WITHOUTAVIF=1` | Since PHP 8.1, gd supports the AVIF format. Enabling it requires compiling libaom/libdav1d/libyuv/libavif on Debian 11- and Alpine 3.14-, which is time-consuming. You can disable AVIF support by setting this environment variable on Debian 11- and Alpine 3.14- | | oci8 & pdo_oci | `IPE_INSTANTCLIENT_BASIC=1` | The oci8 and pdo_oci PHP extensions require [Oracle Instant Client](https://www.oracle.com/database/technologies/instant-client.html). In order to save disk space, we install the Basic Lite version: if you want to install the Basic (non-lite) version simply set this environment variable | | http, intl, mongodb | `IPE_ICU_EN_ONLY=1` | Some extensions require the ICU library, use this flag to install a smaller, but English-only, ICU library on Alpine 3.16 and later |