diff --git a/README.md b/README.md index 5f6d6557..bfd356f4 100644 --- a/README.md +++ b/README.md @@ -238,7 +238,7 @@ install-php-extensions @fix_letsencrypt | http | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | igbinary | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | imagick | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | -| imap | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| imap | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | inotify | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | interbase | | | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | intl | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | @@ -251,7 +251,7 @@ install-php-extensions @fix_letsencrypt | luasandbox | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | lz4[*](#special-requirements-for-lz4) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | lzf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | -| mailparse | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| mailparse | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | maxminddb | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | | mcrypt | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | memcache | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | @@ -265,7 +265,7 @@ install-php-extensions @fix_letsencrypt | mysql | | | | | | | | | | | ✓ | ✓ | | mysqli | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | newrelic | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | -| oauth | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| oauth | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | oci8 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | odbc | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | opcache | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | @@ -284,6 +284,7 @@ install-php-extensions @fix_letsencrypt | pdo_pgsql | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | pdo_sqlsrv | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | pgsql | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| phalcon | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | | php_trie | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | | | phpy[*](#special-requirements-for-phpy) | ✓ | ✓ | ✓ | ✓ | | | | | | | | | | pkcs11 | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | | | @@ -291,11 +292,12 @@ install-php-extensions @fix_letsencrypt | propro | | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | protobuf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | pspell | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| psr | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | pthreads[*](#special-requirements-for-pthreads) | | | | | | | | | | ✓ | ✓ | ✓ | | raphf | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | rdkafka | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | recode | | | | | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | -| redis | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | +| redis | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | relay | | ✓ | ✓ | ✓ | ✓ | ✓ | | | | | | | | saxon[*](#special-requirements-for-saxon) | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | | | seasclick | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | @@ -350,7 +352,7 @@ install-php-extensions @fix_letsencrypt | zookeeper | | | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | | zstd | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ | -*Number of supported extensions: 148* +*Number of supported extensions: 150* PS: the pre-installed PHP extensions are excluded from this list. @@ -417,7 +419,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 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- | +| gd | `IPE_GD_WITHOUTAVIF=1` | Since PHP 8.1, gd supports the AVIF format. Enabling it requires compiling libaom/libdav1d/libyuv/libavif on Debian up to 11 and Alpine up to 3.14, which is time-consuming. You can disable AVIF support by setting this environment variable on those operating system versions | | 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/data/supported-extensions b/data/supported-extensions index 504f0e6a..2b9b136c 100644 --- a/data/supported-extensions +++ b/data/supported-extensions @@ -35,7 +35,7 @@ grpc 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 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 8.4 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 8.3 +imap 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 inotify 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 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 8.3 8.4 @@ -48,7 +48,7 @@ ldap 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 luasandbox 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 lz4 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 lzf 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 -mailparse 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 8.4 maxminddb 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 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 8.4 @@ -62,7 +62,7 @@ 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 8.3 8.4 newrelic 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 +oauth 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 oci8 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 odbc 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 opcache 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 @@ -81,6 +81,7 @@ pdo_odbc 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 pdo_pgsql 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 pdo_sqlsrv 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 pgsql 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 +phalcon 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 8.4 phpy 8.1 8.2 8.3 8.4 pkcs11 7.4 8.0 8.1 8.2 8.3 8.4 @@ -88,11 +89,12 @@ pq 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 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 8.3 8.4 pspell 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 +psr 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 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 8.3 8.4 rdkafka 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 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 +redis 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 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 8.4 seasclick 5.5 5.6 7.0 7.1 7.2 7.3 7.4 8.0 8.1 8.2 8.3 8.4 diff --git a/install-php-extensions b/install-php-extensions index 1655976d..4a21965c 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -597,6 +597,10 @@ sortModulesToInstall() { checkRequiredModule relay igbinary # pq requires raphf checkRequiredModule pq raphf + # phalcon up to v5.0.0beta3 requires psr + if test $PHP_MAJMINPAT_VERSION -lt 70401; then + checkRequiredModule phalcon psr + fi # Some module installation may use sockets if available: move it before other modules if stringInList 'sockets' "$PHP_MODULES_TO_INSTALL"; then PHP_MODULES_TO_INSTALL="$(removeStringFromList 'sockets' "$PHP_MODULES_TO_INSTALL")" @@ -2198,17 +2202,7 @@ isLibaomInstalled() { # Install libaom installLibaom() { printf 'Installing libaom\n' - 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_version=3.10.0 installLibaom_dir="$(getPackageSource https://aomedia.googlesource.com/aom/+archive/v$installLibaom_version.tar.gz)" mkdir -- "$installLibaom_dir/my.build" cd -- "$installLibaom_dir/my.build" @@ -3644,6 +3638,15 @@ installRemoteModule() { fi fi ;; + phalcon) + if test -z "$installRemoteModule_version"; then + if test $PHP_MAJMINPAT_VERSION -lt 70401; then + installRemoteModule_version=4.1.2 + elif test $PHP_MAJMIN_VERSION -lt 800; then + installRemoteModule_version=5.4.0 + fi + fi + ;; php_trie) if ! test -f /usr/local/include/hat-trie/include/tsl/htrie_map.h; then installRemoteModule_src="$(getPackageSource https://codeload.github.com/Tessil/hat-trie/tar.gz/v0.6.0)" @@ -3673,6 +3676,17 @@ installRemoteModule() { fi fi ;; + psr) + if test -z "$installRemoteModule_version"; then + if test $PHP_MAJMIN_VERSION -lt 506; then + installRemoteModule_version=0.5.1 + elif test $PHP_MAJMIN_VERSION -lt 700; then + installRemoteModule_version=0.6.1 + elif test $PHP_MAJMIN_VERSION -lt 703; then + installRemoteModule_version=1.1.0 + fi + fi + ;; pthreads) if test -z "$installRemoteModule_version"; then if test $PHP_MAJMIN_VERSION -le 506; then @@ -3729,6 +3743,8 @@ installRemoteModule() { installRemoteModule_version=4.3.0 elif test $PHP_MAJMIN_VERSION -le 701; then installRemoteModule_version=5.3.7 + elif test $PHP_MAJMIN_VERSION -le 703; then + installRemoteModule_version=6.0.2 fi else installRemoteModule_version="$(resolvePeclStabilityVersion "$installRemoteModule_module" "$installRemoteModule_version")"