Add a way to skip checking if extensions work (#915)

pull/918/head 2.2.13
Michele Locati 2024-04-22 20:40:38 +02:00 committed by GitHub
parent fabb5093bf
commit 7413b1f8e9
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 19 additions and 8 deletions

View File

@ -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_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_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.<br />If you want to only install them (without enabling them) you can set this environment variable.<br />To enable the extensions at a later time you can execute the command `docker-php-ext-enable-<extension>` (for example: `docker-php-ext-enable-xdebug`).<br />**Beware**: installing some PHP extensions requires that other PHP extensions are already enabled, so use this feature wisely. | | | `IPE_DONT_ENABLE=1` | By default the script will install and enable the extensions.<br />If you want to only install them (without enabling them) you can set this environment variable.<br />To enable the extensions at a later time you can execute the command `docker-php-ext-enable-<extension>` (for example: `docker-php-ext-enable-xdebug`).<br />**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.<br />**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 | | | `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 | | 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 |

View File

@ -2640,13 +2640,18 @@ EOF
esac esac
;; ;;
esac esac
php -r 'return;' >/dev/null 2>/dev/null || true case "${IPE_SKIP_CHECK:-}" in
installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)" 1 | y* | Y*) ;;
if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then *)
printf 'PHP has problems after installing the "%s" extension:\n%s\n' "$1" "$installBundledModule_errAfter" >&2 php -r 'return;' >/dev/null 2>/dev/null || true
rm "$PHP_INI_DIR/conf.d/docker-php-ext-$1.ini" || true installBundledModule_errAfter="$(php -r 'return;' 2>&1 || true)"
return 1 if test "$installBundledModule_errAfter" != "$installBundledModule_errBefore"; then
fi 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. # Fetch a tar.gz file, extract it and returns the path of the extracted folder.
@ -4229,7 +4234,12 @@ installRemoteModule() {
fi fi
postProcessModule "$installRemoteModule_module" postProcessModule "$installRemoteModule_module"
if test $installRemoteModule_manuallyInstalled -lt 2; then 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" enablePhpExtension "$installRemoteModule_module" "$installRemoteModule_ini_basename" "$installRemoteModule_ini_extra"
fi fi
} }