|
4 | 4 | export PATH="$COMPOSER_HOME/vendor/bin:$PATH" |
5 | 5 |
|
6 | 6 | if [ "$(id -u)" != 0 ] || [ "${PHP_RUNTIME_CONF-1}" != '1' ]; then |
7 | | - return |
| 7 | + return |
8 | 8 | fi |
9 | 9 |
|
10 | | -_PHP_INI="$PHP_INI_DIR/php.ini" |
11 | | -for _ENV_NAME in $(printenv | awk -F= '{print $1}'); do |
12 | | - if [ "${_ENV_NAME:0:8}" = "PHP_EXT_" ]; then |
13 | | - _PHP_EXT="$(echo "${_ENV_NAME:8}" | tr '[:upper:]' '[:lower:]')" |
14 | | - _PHP_EXT_FILE="$PHP_INI_DIR/conf.d/${_PHP_EXT}.ini" |
15 | | - if [ ! -f "$_PHP_EXT_FILE" ] || [ ! -w "$_PHP_EXT_FILE" ]; then |
16 | | - continue |
17 | | - fi |
| 10 | +conf_env PHP_ --pattern='!/^PHP_EXT_/' --comment=";" --file="$PHP_INI_DIR/php.ini" |
18 | 11 |
|
19 | | - _PHP_VALUE="$(eval echo "\${$_ENV_NAME}")" |
20 | | - if [ "${_PHP_VALUE}" = 1 ] || [ "${_PHP_VALUE}" = true ]; then |
21 | | - sed -i "s/^[; ]*\(zend_extension\|extension\)/\1/" "${_PHP_EXT_FILE}" |
22 | | - else |
23 | | - sed -i "s/^[; ]*\(zend_extension\|extension\)/;\1/" "${_PHP_EXT_FILE}" |
24 | | - fi |
25 | | - elif [ "${_ENV_NAME:0:4}" = "PHP_" ] && [ -w "$_PHP_INI" ]; then |
26 | | - _PHP_NAME="$(echo "${_ENV_NAME:4}" | sed -e 's|__|\.|g' | tr '[:upper:]' '[:lower:]')" |
27 | | - _PHP_VALUE="$(eval echo "\${$_ENV_NAME}")" |
28 | | - if grep "${_PHP_NAME} =" "$_PHP_INI" > /dev/null; then |
29 | | - sed -i "s|^[; ]*\($_PHP_NAME *=\).*|\1 $_PHP_VALUE|" "$_PHP_INI" |
30 | | - else |
31 | | - echo "${_PHP_NAME} = ${_PHP_VALUE}" >> "$_PHP_INI" |
32 | | - fi |
33 | | - fi |
34 | | -done |
| 12 | +conf_env "PHP_EXT_" | while read -r extension value; do |
| 13 | + file="$(find "$PHP_INI_DIR/conf.d" -name "*${extension}.ini" | head -1)" |
| 14 | + if [ ! -f "$file" ] || [ ! -w "$file" ]; then |
| 15 | + return |
| 16 | + fi |
35 | 17 |
|
36 | | -unset -v _PHP_INI _PHP_NAME _PHP_VALUE _ENV_NAME |
| 18 | + if [ "${value}" = 1 ] || [ "${value}" = true ]; then prefix=; else prefix=";"; fi |
| 19 | + sed -i "s/^[; ]*\(zend_extension\|extension\)/${prefix}\1/" "$file" |
| 20 | +done |
0 commit comments