mirror of
https://github.com/devilbox/docker-php-fpm.git
synced 2025-12-16 22:11:15 +00:00
53 lines
1.3 KiB
Bash
Executable File
53 lines
1.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
|
|
set -e
|
|
set -u
|
|
set -o pipefail
|
|
|
|
|
|
############################################################
|
|
# Functions
|
|
############################################################
|
|
|
|
###
|
|
### Enable PHP Modules
|
|
###
|
|
enable_modules() {
|
|
local mod_varname="${1}"
|
|
local debug="${2}"
|
|
local cfg_path="/usr/local/etc/php/conf.d"
|
|
local mod_path=
|
|
mod_path="$( php -i | grep ^extension_dir | awk -F '=>' '{print $2}' | xargs )"
|
|
|
|
|
|
if ! env_set "${mod_varname}"; then
|
|
log "info" "\$${mod_varname} not set. Not enabling any PHP modules." "${debug}"
|
|
else
|
|
mods="$( env_get "${mod_varname}" )"
|
|
|
|
if [ -z "${mods}" ]; then
|
|
log "info" "\$${mod_varname} set, but empty. Not enabling any PHP modules." "${debug}"
|
|
return 0
|
|
fi
|
|
|
|
log "info" "Enabling the following PHP modules: ${mods}" "${debug}"
|
|
|
|
while read -r mod; do
|
|
mod="$( echo "${mod}" | xargs )" # trim
|
|
|
|
# Does the module exist?
|
|
if [ -f "${mod_path}/${mod}.so" ]; then
|
|
# Exceptions to load speficially
|
|
if [ "${mod}" = "ioncube" ]; then
|
|
run "echo 'zend_extension=${mod_path}/ioncube.so' > '${cfg_path}/docker-ext-php-ext-ioncube.ini'" "${debug}"
|
|
# Generic Load
|
|
else
|
|
run "docker-php-ext-enable ${mod} || true" "${debug}"
|
|
fi
|
|
else
|
|
log "warn" "Enabling PHP Module: '${mod}' does not exist" "${debug}"
|
|
fi
|
|
done <<< "$( echo "${mods}" | tr ',' '\n' )"
|
|
fi
|
|
}
|