diff --git a/README.md b/README.md index 23989ed..3324b00 100644 --- a/README.md +++ b/README.md @@ -410,6 +410,7 @@ Here's the list of all the supported environment variables: | | `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` | 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_SKIP_CHECK=1` | By default the script will check if the extensions can be enabled: if you want to skip this check, you can use this flag.
**Beware**: extensions may be enabled even if they break PHP: use this function 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 | diff --git a/install-php-extensions b/install-php-extensions index b2355e4..3c68e11 100755 --- a/install-php-extensions +++ b/install-php-extensions @@ -2640,13 +2640,18 @@ EOF esac ;; esac - php -r 'return;' >/dev/null 2>/dev/null || true - installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)" - if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then - printf 'PHP has problems after installing the "%s" extension:\n%s\n' "$1" "$installBundledModule_errAfter" >&2 - rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true - return 1 - fi + case "${IPE_SKIP_CHECK:-}" in + 1 | y* | Y*) ;; + *) + php -r 'return;' >/dev/null 2>/dev/null || true + installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)" + if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then + printf 'PHP has problems after installing the "%s" extension:\n%s\n' "$1" "$installBundledModule_errAfter" >&2 + rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true + return 1 + fi + ;; + esac } # Fetch a tar.gz file, extract it and returns the path of the extracted folder. @@ -4229,7 +4234,12 @@ installRemoteModule() { fi postProcessModule "$installRemoteModule_module" if test $installRemoteModule_manuallyInstalled -lt 2; then - checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra" + case "${IPE_SKIP_CHECK:-}" in + 1 | y* | Y*) ;; + *) + checkModuleWorking "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra" + ;; + esac enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra" fi }