diff --git a/.github/workflows/monitor-php8.2.yml b/.github/workflows/monitor-php8.3.yml
similarity index 73%
rename from .github/workflows/monitor-php8.2.yml
rename to .github/workflows/monitor-php8.3.yml
index ee07e8be..7ccd706e 100644
--- a/.github/workflows/monitor-php8.2.yml
+++ b/.github/workflows/monitor-php8.3.yml
@@ -1,11 +1,11 @@
-name: Monitor PHP 8.2
+name: Monitor PHP 8.3
on:
schedule:
- cron: "0 6 * * *"
repository_dispatch:
types:
- - monitor-php8.2
+ - monitor-php8.3
jobs:
test_extensions:
@@ -13,18 +13,15 @@ jobs:
fail-fast: false
matrix:
distro:
- - alpine3.15
- - alpine3.16
- alpine3.17
- alpine3.18
- - buster
- bullseye
- bookworm
name: Check on ${{ matrix.distro }}
runs-on: ubuntu-latest
env:
IPETEST_DOCKER_DISTRO: ${{ matrix.distro }}
- IPETEST_ONLY_PHPVERSIONS: "8.2"
+ IPETEST_ONLY_PHPVERSIONS: "8.3"
steps:
- name: Checkout
uses: actions/checkout@v1
@@ -36,4 +33,4 @@ jobs:
with:
token: ${{ secrets.TELEGRAM_TOKEN }}
to: ${{ secrets.TELEGRAM_TO }}
- message: Testing packages against PHP 8.2 failed on https://github.com/mlocati/docker-php-extension-installer
+ message: Testing packages against PHP 8.3 failed on https://github.com/mlocati/docker-php-extension-installer/actions/workflows/monitor-php8.3.yml
diff --git a/.github/workflows/test-extensions.yml b/.github/workflows/test-extensions.yml
index 7b59e910..cb9cdd0a 100644
--- a/.github/workflows/test-extensions.yml
+++ b/.github/workflows/test-extensions.yml
@@ -31,9 +31,9 @@ jobs:
- name: Install Go
uses: actions/setup-go@v2
with:
- go-version: "1.17.1"
+ go-version: "1.21.0"
- name: Install shfmt
- run: GO111MODULE=on go install mvdan.cc/sh/v3/cmd/shfmt@v3.4.0
+ run: GO111MODULE=on go install mvdan.cc/sh/v3/cmd/shfmt@v3.7.0
- name: Checkout
uses: actions/checkout@v2
- name: Check coding style
diff --git a/README.md b/README.md
index ba3c7f4c..f2544a27 100644
--- a/README.md
+++ b/README.md
@@ -191,149 +191,149 @@ install-php-extensions @fix_letsencrypt
-| Extension | PHP 5.5 | PHP 5.6 | PHP 7.0 | PHP 7.1 | PHP 7.2 | PHP 7.3 | PHP 7.4 | PHP 8.0 | PHP 8.1 | PHP 8.2 |
-|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
-| amqp | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| apcu | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| apcu_bc | | | ✓ | ✓ | ✓ | ✓ | ✓ | | | |
-| ast | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| bcmath | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| bitset | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| blackfire | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| bz2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| calendar | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| cassandra[*](#special-requirements-for-cassandra) | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| cmark | | | ✓ | ✓ | ✓ | ✓ | ✓ | | | |
-| csv | | | | | | ✓ | ✓ | ✓ | ✓ | ✓ |
-| dba | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| ddtrace[*](#special-requirements-for-ddtrace) | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| decimal | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| ds | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| ecma_intl[*](#special-requirements-for-ecma_intl) | | | | | | | | | | ✓ |
-| enchant | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| ev | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| event | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| excimer | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| exif | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| ffi | | | | | | | ✓ | ✓ | ✓ | ✓ |
-| gd | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| gearman | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | |
-| geoip | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | |
-| geos[*](#special-requirements-for-geos) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| geospatial | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| gettext | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| gmagick | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| gmp | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| gnupg | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| grpc | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| http | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| igbinary | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| imagick | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| imap | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| inotify | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| interbase | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | |
-| intl | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| ion | | | | | | | | | ✓ | ✓ |
-| ioncube_loader | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ | ✓ |
-| jsmin | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | |
-| json_post | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| jsonpath | | | | | | | ✓ | ✓ | ✓ | ✓ |
-| ldap | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| luasandbox | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| lz4[*](#special-requirements-for-lz4) | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| lzf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| mailparse | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| maxminddb | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| mcrypt | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| memcache | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| memcached | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| memprof[*](#special-requirements-for-memprof) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| mongo | ✓ | ✓ | | | | | | | | |
-| mongodb | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| mosquitto | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | |
-| msgpack | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| mssql | ✓ | ✓ | | | | | | | | |
-| mysql | ✓ | ✓ | | | | | | | | |
-| mysqli | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| oauth | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| oci8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| odbc | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| opcache | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| opencensus | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| openswoole | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| opentelemetry | | | | | | | | ✓ | ✓ | ✓ |
-| parallel[*](#special-requirements-for-parallel) | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| parle[*](#special-requirements-for-parle) | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| pcntl | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| pcov | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| pdo_dblib | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| pdo_firebird | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| pdo_mysql | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| pdo_oci | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| pdo_odbc | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| pdo_pgsql | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| pdo_sqlsrv[*](#special-requirements-for-pdo_sqlsrv) | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| pgsql | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| php_trie | | | | | | ✓ | ✓ | ✓ | ✓ | ✓ |
-| pkcs11 | | | | | | | ✓ | ✓ | ✓ | ✓ |
-| pq | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| propro | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | |
-| protobuf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| pspell | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| pthreads[*](#special-requirements-for-pthreads) | ✓ | ✓ | ✓ | | | | | | | |
-| raphf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| rdkafka | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| recode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | |
-| redis | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| relay | | | | | | | ✓ | ✓ | ✓ | ✓ |
-| seasclick | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| seaslog | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| shmop | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| simdjson[*](#special-requirements-for-simdjson) | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| smbclient | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| snappy | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| snmp | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| snuffleupagus | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| soap | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| sockets | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| sodium[*](#special-requirements-for-sodium) | | ✓ | ✓ | ✓ | | | | | | |
-| solr | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| sourceguardian | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| spx | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| sqlsrv[*](#special-requirements-for-sqlsrv) | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| ssh2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| stomp | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | ✓ |
-| swoole | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| sybase_ct | ✓ | ✓ | | | | | | | | |
-| sync | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| sysvmsg | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| sysvsem | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| sysvshm | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| tensor | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| tideways | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| tidy | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| timezonedb | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| uopz | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| uploadprogress | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| uuid | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| uv | | | | | | | | ✓ | ✓ | ✓ |
-| vips[*](#special-requirements-for-vips) | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| wddx | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | |
-| xdebug | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| xdiff | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| xhprof | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| xlswriter | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| xmldiff | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| xmlrpc | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| xsl | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| yac | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| yaml | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| yar | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
-| zephir_parser | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| zip | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| zmq | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| zookeeper | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
-| zstd | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| Extension | PHP 5.5 | PHP 5.6 | PHP 7.0 | PHP 7.1 | PHP 7.2 | PHP 7.3 | PHP 7.4 | PHP 8.0 | PHP 8.1 | PHP 8.2 | PHP 8.3 |
+|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|:---:|
+| amqp | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| apcu | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| apcu_bc | | | ✓ | ✓ | ✓ | ✓ | ✓ | | | | |
+| ast | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| bcmath | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| bitset | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| blackfire | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
+| bz2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| calendar | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| cassandra[*](#special-requirements-for-cassandra) | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| cmark | | | ✓ | ✓ | ✓ | ✓ | ✓ | | | | |
+| csv | | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| dba | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| ddtrace[*](#special-requirements-for-ddtrace) | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| decimal | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| ds | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
+| ecma_intl[*](#special-requirements-for-ecma_intl) | | | | | | | | | | ✓ | ✓ |
+| enchant | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| ev | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| event | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| excimer | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| exif | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| ffi | | | | | | | ✓ | ✓ | ✓ | ✓ | ✓ |
+| gd | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| gearman | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | |
+| geoip | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | |
+| geos[*](#special-requirements-for-geos) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| geospatial | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| gettext | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| gmagick | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| gmp | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| gnupg | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| grpc | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| http | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| igbinary | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| imagick | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
+| imap | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| inotify | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| interbase | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |
+| intl | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| ion | | | | | | | | | ✓ | ✓ | ✓ |
+| ioncube_loader | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | ✓ | ✓ | |
+| jsmin | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | |
+| json_post | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| jsonpath | | | | | | | ✓ | ✓ | ✓ | ✓ | ✓ |
+| ldap | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| luasandbox | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| lz4[*](#special-requirements-for-lz4) | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| lzf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| mailparse | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| maxminddb | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| mcrypt | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| memcache | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| memcached | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| memprof[*](#special-requirements-for-memprof) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| mongo | ✓ | ✓ | | | | | | | | | |
+| mongodb | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| mosquitto | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | |
+| msgpack | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| mssql | ✓ | ✓ | | | | | | | | | |
+| mysql | ✓ | ✓ | | | | | | | | | |
+| mysqli | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| oauth | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| oci8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| odbc | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| opcache | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| opencensus | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| openswoole | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
+| opentelemetry | | | | | | | | ✓ | ✓ | ✓ | ✓ |
+| parallel[*](#special-requirements-for-parallel) | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| parle[*](#special-requirements-for-parle) | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| pcntl | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| pcov | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| pdo_dblib | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| pdo_firebird | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| pdo_mysql | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| pdo_oci | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| pdo_odbc | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| pdo_pgsql | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| pdo_sqlsrv[*](#special-requirements-for-pdo_sqlsrv) | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| pgsql | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| php_trie | | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| pkcs11 | | | | | | | ✓ | ✓ | ✓ | ✓ | ✓ |
+| pq | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| propro | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | |
+| protobuf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| pspell | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| pthreads[*](#special-requirements-for-pthreads) | ✓ | ✓ | ✓ | | | | | | | | |
+| raphf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| rdkafka | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| recode | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |
+| redis | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| relay | | | | | | | ✓ | ✓ | ✓ | ✓ | ✓ |
+| seasclick | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| seaslog | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| shmop | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| simdjson[*](#special-requirements-for-simdjson) | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| smbclient | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| snappy | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| snmp | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| snuffleupagus | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| soap | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| sockets | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| sodium[*](#special-requirements-for-sodium) | | ✓ | ✓ | ✓ | | | | | | | |
+| solr | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
+| sourceguardian | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
+| spx | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
+| sqlsrv[*](#special-requirements-for-sqlsrv) | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| ssh2 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| stomp | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | ✓ | ✓ |
+| swoole | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| sybase_ct | ✓ | ✓ | | | | | | | | | |
+| sync | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| sysvmsg | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| sysvsem | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| sysvshm | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| tensor | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
+| tideways | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
+| tidy | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| timezonedb | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| uopz | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| uploadprogress | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| uuid | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| uv | | | | | | | | ✓ | ✓ | ✓ | ✓ |
+| vips[*](#special-requirements-for-vips) | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| wddx | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | |
+| xdebug | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
+| xdiff | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| xhprof | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| xlswriter | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| xmldiff | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| xmlrpc | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| xsl | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| yac | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| yaml | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| yar | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | |
+| zephir_parser | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| zip | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| zmq | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
+| zookeeper | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | |
+| zstd | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
*Number of supported extensions: 141*
@@ -396,6 +396,7 @@ 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_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 |
diff --git a/data/supported-extensions b/data/supported-extensions
index 12a9a46e..d86de026 100644
--- a/data/supported-extensions
+++ b/data/supported-extensions
@@ -1,141 +1,141 @@
-amqp 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-apcu 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+amqp 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+apcu 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
apcu_bc 7.0 7.1 7.2 7.3 7.4
-ast 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-bcmath 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-bitset 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+ast 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+bcmath 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+bitset 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
blackfire 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-bz2 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-calendar 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-cassandra 7.2 7.3 7.4 8.0 8.1 8.2
+bz2 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+calendar 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+cassandra 7.2 7.3 7.4 8.0 8.1 8.2 8.3
cmark 7.0 7.1 7.2 7.3 7.4
-csv 7.3 7.4 8.0 8.1 8.2
-dba 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-ddtrace 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-decimal 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+csv 7.3 7.4 8.0 8.1 8.2 8.3
+dba 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+ddtrace 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+decimal 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
ds 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-ecma_intl 8.2
-enchant 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-ev 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-event 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-excimer 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-exif 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-ffi 7.4 8.0 8.1 8.2
-gd 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+ecma_intl 8.2 8.3
+enchant 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+ev 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+event 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+excimer 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+exif 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+ffi 7.4 8.0 8.1 8.2 8.3
+gd 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
gearman 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0
geoip 5.5 5.6 7.0 7.1 7.2 7.3 7.4
-geos 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-geospatial 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-gettext 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-gmagick 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-gmp 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-gnupg 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-grpc 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-http 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-igbinary 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+geos 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+geospatial 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+gettext 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+gmagick 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+gmp 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+gnupg 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+grpc 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+http 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+igbinary 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
imagick 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-imap 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-inotify 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+imap 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+inotify 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
interbase 5.5 5.6 7.0 7.1 7.2 7.3
-intl 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-ion 8.1 8.2
+intl 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+ion 8.1 8.2 8.3
ioncube_loader 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.1 8.2
jsmin 5.5 5.6 7.0 7.1 7.2 7.3 7.4
-json_post 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-jsonpath 7.4 8.0 8.1 8.2
-ldap 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-luasandbox 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-lz4 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-lzf 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-mailparse 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-maxminddb 7.2 7.3 7.4 8.0 8.1 8.2
-mcrypt 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-memcache 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-memcached 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-memprof 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+json_post 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+jsonpath 7.4 8.0 8.1 8.2 8.3
+ldap 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+luasandbox 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+lz4 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+lzf 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+mailparse 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+maxminddb 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+mcrypt 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+memcache 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+memcached 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+memprof 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
mongo 5.5 5.6
-mongodb 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+mongodb 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
mosquitto 5.5 5.6 7.0 7.1 7.2 7.3 7.4
-msgpack 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+msgpack 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
mssql 5.5 5.6
mysql 5.5 5.6
-mysqli 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-oauth 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-oci8 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-odbc 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-opcache 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-opencensus 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+mysqli 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+oauth 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+oci8 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+odbc 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+opcache 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+opencensus 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
openswoole 7.2 7.3 7.4 8.0 8.1 8.2
-opentelemetry 8.0 8.1 8.2
-parallel 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-parle 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-pcntl 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-pcov 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-pdo_dblib 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-pdo_firebird 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-pdo_mysql 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-pdo_oci 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-pdo_odbc 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-pdo_pgsql 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-pdo_sqlsrv 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-pgsql 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-php_trie 7.3 7.4 8.0 8.1 8.2
-pkcs11 7.4 8.0 8.1 8.2
-pq 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+opentelemetry 8.0 8.1 8.2 8.3
+parallel 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+parle 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+pcntl 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+pcov 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+pdo_dblib 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+pdo_firebird 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+pdo_mysql 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+pdo_oci 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+pdo_odbc 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+pdo_pgsql 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+pdo_sqlsrv 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+pgsql 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+php_trie 7.3 7.4 8.0 8.1 8.2 8.3
+pkcs11 7.4 8.0 8.1 8.2 8.3
+pq 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
propro 5.5 5.6 7.0 7.1 7.2 7.3 7.4
-protobuf 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-pspell 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+protobuf 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+pspell 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
pthreads 5.5 5.6 7.0
-raphf 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-rdkafka 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+raphf 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+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
-relay 7.4 8.0 8.1 8.2
-seasclick 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-seaslog 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-shmop 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-simdjson 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-smbclient 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-snappy 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-snmp 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-snuffleupagus 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-soap 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-sockets 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+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
+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
+simdjson 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+smbclient 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+snappy 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+snmp 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+snuffleupagus 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+soap 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+sockets 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
sodium 5.6 7.0 7.1
solr 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
sourceguardian 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
spx 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-sqlsrv 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-ssh2 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-stomp 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.2
-swoole 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+sqlsrv 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+ssh2 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+stomp 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.2 8.3
+swoole 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
sybase_ct 5.5 5.6
-sync 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-sysvmsg 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-sysvsem 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-sysvshm 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+sync 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+sysvmsg 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+sysvsem 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+sysvshm 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
tensor 7.2 7.3 7.4 8.0 8.1 8.2
tideways 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-tidy 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-timezonedb 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-uopz 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-uploadprogress 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-uuid 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-uv 8.0 8.1 8.2
-vips 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+tidy 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+timezonedb 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+uopz 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+uploadprogress 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+uuid 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+uv 8.0 8.1 8.2 8.3
+vips 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
wddx 5.5 5.6 7.0 7.1 7.2 7.3
xdebug 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-xdiff 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-xhprof 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-xlswriter 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-xmldiff 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-xmlrpc 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-xsl 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-yac 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-yaml 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+xdiff 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+xhprof 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+xlswriter 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+xmldiff 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+xmlrpc 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+xsl 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+yac 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+yaml 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
yar 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1
-zephir_parser 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-zip 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-zmq 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+zephir_parser 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+zip 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
+zmq 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3
zookeeper 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
-zstd 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2
+zstd 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 08ee780c..a57219ae 100755
--- a/install-php-extensions
+++ b/install-php-extensions
@@ -715,18 +715,11 @@ buildRequiredPackageLists() {
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cmake"
;;
ddtrace@alpine)
+ buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent libgcc"
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile curl-dev"
- if test $DISTRO_MAJMIN_VERSION -ge 317; then
- # Alpine 3.17 is the minimum version that comes with cargo 1.64.0+
- buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cargo"
- fi
;;
ddtrace@debian)
buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile libcurl4-openssl-dev"
- if test $DISTRO_MAJMIN_VERSION -ge 1200; then
- # Debian bookworm is the minimum version that comes with cargo 1.64.0+
- buildRequiredPackageLists_volatile="$buildRequiredPackageLists_volatile cargo"
- fi
;;
dba@alpine)
buildRequiredPackageLists_persistent="$buildRequiredPackageLists_persistent db"
@@ -1624,6 +1617,10 @@ expandInstalledSystemPackageName() {
# Output:
# The number of processor cores available
getProcessorCount() {
+ if test -n "${IPE_PROCESSOR_COUNT:-}"; then
+ echo $IPE_PROCESSOR_COUNT
+ return
+ fi
if command -v nproc >/dev/null 2>&1; then
nproc
else
@@ -2023,9 +2020,6 @@ installMicrosoftSqlServerODBC() {
rm -rf /tmp/src/msodbcsql.apk
;;
debian)
- if test $DISTRO_VERSION_NUMBER -eq 12; then
- DISTRO_VERSION_NUMBER=11
- fi
printf -- '- installing the Microsoft APT key\n'
if test $DISTRO_VERSION_NUMBER -eq 11; then
curl -sSLf -o /etc/apt/trusted.gpg.d/microsoft.asc https://packages.microsoft.com/keys/microsoft.asc
@@ -2043,15 +2037,12 @@ installMicrosoftSqlServerODBC() {
printf -- '- installing the APT package\n'
if test $PHP_MAJMIN_VERSION -le 703; then
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql17
- elif test $DISTRO_VERSION_NUMBER -ge 9 && test $DISTRO_VERSION_NUMBER -le 11; then
- # On Debian 9 and 11 we have both msodbcsql17 and msodbcsql18: let's install just one
+ elif test $DISTRO_VERSION_NUMBER -ge 9 && test $DISTRO_VERSION_NUMBER -le 12; then
+ # On Debian 9 to 12 we have both msodbcsql17 and msodbcsql18: let's install just one
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS msodbcsql18
else
DEBIAN_FRONTEND=noninteractive ACCEPT_EULA=Y apt-get install -qqy --no-install-recommends $IPE_APTGET_INSTALLOPTIONS '^msodbcsql[0-9]+$'
fi
- if test $DISTRO_VERSION_NUMBER -eq 11; then
- setDistro
- fi
;;
esac
}
@@ -2291,6 +2282,25 @@ installSourceGuardian() {
exit 1
}
+# Install Cargo (if not yet installed)
+installCargo() {
+ if command -v cargo >/dev/null; then
+ return
+ fi
+ printf '# Installing cargo\n'
+ case "$DISTRO" in
+ alpine)
+ # see https://github.com/hyperledger/indy-vdr/issues/69#issuecomment-998104850
+ export RUSTFLAGS='-C target-feature=-crt-static'
+ ;;
+ esac
+ curl https://sh.rustup.rs -sSf | sh -s -- -y -q
+ . "$HOME/.cargo/env"
+ if test -z "${IPE_UNINSTALL_CARGO:-}"; then
+ IPE_UNINSTALL_CARGO=y
+ fi
+}
+
# Install a bundled PHP module given its handle
#
# Arguments:
@@ -2701,26 +2711,7 @@ installRemoteModule() {
if test $PHP_MAJMIN_VERSION -lt 700; then
installRemoteModule_version=0.75.0
else
- case "$DISTRO" in
- alpine)
- if test $DISTRO_MAJMIN_VERSION -lt 317; then
- # Alpine 3.17 is the minimum version that comes with cargo 1.64.0+
- installRemoteModule_version=0.87.2
- elif test $DISTRO_MAJMIN_VERSION -lt 318; then
- # Alpine 3.18 is the minimum version that comes with cargo 1.71.0+
- installRemoteModule_version=0.89.0
- fi
- ;;
- debian)
- if test $DISTRO_MAJMIN_VERSION -lt 1200; then
- # Debian bookworm is the minimum version that comes with cargo 1.64.0+
- installRemoteModule_version=0.87.2
- elif test $DISTRO_MAJMIN_VERSION -le 1300; then
- # Newer ddtrace versions require cargo 1.71.0+, but bookworm comes with cargo 1.65.0
- installRemoteModule_version=0.89.0
- fi
- ;;
- esac
+ installCargo
fi
fi
;;
@@ -4239,6 +4230,10 @@ fixLetsEncrypt() {
# Cleanup everything at the end of the execution
cleanup() {
+ if test "${IPE_UNINSTALL_CARGO:-}" = y; then
+ . "$HOME/.cargo/env"
+ rustup self uninstall -y
+ fi
if test -n "$UNNEEDED_PACKAGE_LINKS"; then
printf '### REMOVING UNNEEDED PACKAGE LINKS ###\n'
for cleanup_link in $UNNEEDED_PACKAGE_LINKS; do
@@ -4304,7 +4299,7 @@ esac
setPHPVersionVariables
setPHPPreinstalledModules
case "$PHP_MAJMIN_VERSION" in
- 505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802) ;;
+ 505 | 506 | 700 | 701 | 702 | 703 | 704 | 800 | 801 | 802 | 803) ;;
*)
printf "### ERROR: Unsupported PHP version: %s.%s ###\n" $((PHP_MAJMIN_VERSION / 100)) $((PHP_MAJMIN_VERSION % 100))
;;
diff --git a/scripts/ci-test-extensions b/scripts/ci-test-extensions
index ec8c1cb7..bea1a54e 100755
--- a/scripts/ci-test-extensions
+++ b/scripts/ci-test-extensions
@@ -23,7 +23,7 @@ set -o nounset
# $2: the PHP version
shouldProcessPhpVersionForDistro() {
case "$2@$1" in
- 8.1@alpine3.12)
+ 8.1@alpine3.12 | 8.3@buster)
return 1
;;
*)
@@ -153,6 +153,9 @@ getDockerImageName() {
return
fi
case "$2" in
+ 8.3)
+ getDockerImageName_version="$2-rc"
+ ;;
*)
getDockerImageName_version="$2"
;;
@@ -182,7 +185,7 @@ getDockerImageName() {
if test "${getDockerImageName_log#*manifest unknown}" != "$getDockerImageName_log" || test "${getDockerImageName_log#*manifest for * not found}" != "$getDockerImageName_log"; then
return
fi
- printf '%s\n' "$getDockerImageName_log" >&2
+ printf '%s\n' "$getDockerImageName_log"
exit 1
fi
fi
@@ -311,7 +314,7 @@ testExtension() {
testExtensionFor() {
printf 'PHP version: %s\n' "$2"
if test -n "$(printf '%s' "$2" | sed -E 's/^[0-9]+\.[0-9]+$//')"; then
- printf ' INVALID PHP VERSION: %s\n' "$2" >&2
+ printf ' INVALID PHP VERSION: %s\n' "$2"
return 1
fi
testExtensionFor_Image="$(getDockerImageName "$1" "$2")"
@@ -330,22 +333,27 @@ testExtensionFor() {
testExtensionFor_delta=$(expr $testExtensionFor_end - $testExtensionFor_start)
rm -rf "$testExtensionFor_out"
printf ' - Passed in %s seconds\n' $testExtensionFor_delta
+ IPE_SUMMARY_GOOD="$(printf '%s- %s (%s)\n ' "${IPE_SUMMARY_GOOD% }" "$1" "$testExtensionFor_Image")"
return 0
fi
- printf '\n\n###############\n## ##\n## FAILED! ##\n## ##\n###############\n' >&2
- cat "$testExtensionFor_out" >&2
+ printf '\n\n###############\n## ##\n## FAILED! ##\n## ##\n###############\n'
+ echo '::group::Error details'
+ cat "$testExtensionFor_out"
+ echo '::endgroup::'
+ echo ''
rm -rf "$testExtensionFor_out"
+ IPE_SUMMARY_BAD="$(printf '%s- %s (%s)\n ' "${IPE_SUMMARY_BAD% }" "$1" "$testExtensionFor_Image")"
return 1
}
echo 'Checking environment'
if test -z "${GITHUB_WORKSPACE:-}"; then
- echo 'Not in a CI environment' >&2
+ echo 'Not in a CI environment'
exit 1
fi
CI_BUILD_DIR="$GITHUB_WORKSPACE"
if test -z "${IPETEST_DOCKER_DISTRO:-}"; then
- echo 'IPETEST_DOCKER_DISTRO environment variable not set' >&2
+ echo 'IPETEST_DOCKER_DISTRO environment variable not set'
exit 1
fi
@@ -354,7 +362,7 @@ fi
case "${1:-}" in
from-commits)
if test -z "${2:-}"; then
- echo 'Missing commit range of the push event' >&2
+ echo 'Missing commit range of the push event'
exit 1
fi
CI_COMMIT_RANGE="$2"
@@ -373,9 +381,9 @@ case "${1:-}" in
;;
*)
if test -z "${1:-}"; then
- printf 'Missing source of extensions to be tested\n' >&2
+ printf 'Missing source of extensions to be tested\n'
else
- printf '"%s" is an unknown source of extensions to be tested\n' "$1" >&2
+ printf '"%s" is an unknown source of extensions to be tested\n' "$1"
fi
exit 1
;;
@@ -393,10 +401,24 @@ SOME_TEST_FAILED=0
IFS='
'
+IPE_SUMMARY_GOOD=''
+IPE_SUMMARY_BAD=''
for EXTENSION_TO_BE_TESTED in "$EXTENSIONS_TO_BE_TESTED"; do
testExtension "$EXTENSION_TO_BE_TESTED" || SOME_TEST_FAILED=1
done
+printf '\n### SUMMARY\n'
+if test -z "$IPE_SUMMARY_GOOD"; then
+ printf 'Passed extensions:\n(none)\n'
+else
+ printf 'Passed extensions:\n%s' "${IPE_SUMMARY_GOOD% }"
+fi
+if test -z "$IPE_SUMMARY_BAD"; then
+ printf 'Failed extensions:\n(none)\n'
+else
+ printf 'Failed extensions:\n%s' "${IPE_SUMMARY_BAD% }"
+fi
+
if test $SOME_TEST_FAILED -ne 0; then
exit 1
fi
diff --git a/scripts/lint b/scripts/lint
index 03eb35eb..de083544 100755
--- a/scripts/lint
+++ b/scripts/lint
@@ -11,7 +11,7 @@ echo '# Linting shell scripts'
if ! docker --version >/dev/null 2>/dev/null; then
echo 'Docker is not installed, or it is not running.' >&2
rc=1
-elif ! docker run --rm -v "$SRC_DIR:/src" -w /src --entrypoint /src/scripts/invoke-shfmt mvdan/shfmt:v3.4.0-alpine fix; then
+elif ! docker run --rm -v "$SRC_DIR:/src" -w /src --entrypoint /src/scripts/invoke-shfmt mvdan/shfmt:v3.7.0-alpine fix; then
echo 'ERROR!' >&2
rc=1
fi
diff --git a/scripts/lint.bat b/scripts/lint.bat
index babca735..eee8974f 100644
--- a/scripts/lint.bat
+++ b/scripts/lint.bat
@@ -16,7 +16,7 @@ if errorlevel 1 (
echo Docker is not installed, or it's not running >&2
set rc=1
) else (
- docker run --rm -v "%SRC_DIR%:/src" -w /src --entrypoint /src/scripts/invoke-shfmt mvdan/shfmt:v3.4.0-alpine fix
+ docker run --rm -v "%SRC_DIR%:/src" -w /src --entrypoint /src/scripts/invoke-shfmt mvdan/shfmt:v3.7.0-alpine fix
if errorlevel 1 (
echo ERROR! >&2
set rc=1