mirror of
https://github.com/danog/php.git
synced 2024-12-12 09:09:49 +01:00
61 lines
1.2 KiB
Plaintext
61 lines
1.2 KiB
Plaintext
|
#!/bin/bash
|
||
|
set -e
|
||
|
|
||
|
cd /usr/src/php/ext
|
||
|
|
||
|
usage() {
|
||
|
echo "usage: $0 ext-name [ext-name ...]"
|
||
|
echo " ie: $0 gd mysqli"
|
||
|
echo " $0 pdo pdo_mysql"
|
||
|
echo
|
||
|
echo 'if custom ./configure arguments are necessary, see docker-php-ext-configure'
|
||
|
echo
|
||
|
echo 'Possible values for ext-name:'
|
||
|
echo $(find /usr/src/php/ext -mindepth 2 -maxdepth 2 -type f -name 'config.m4' | cut -d/ -f6 | sort)
|
||
|
}
|
||
|
|
||
|
exts=()
|
||
|
while [ $# -gt 0 ]; do
|
||
|
ext="$1"
|
||
|
shift
|
||
|
if [ -z "$ext" ]; then
|
||
|
continue
|
||
|
fi
|
||
|
if [ ! -d "$ext" ]; then
|
||
|
echo >&2 "error: $(pwd -P)/$ext does not exist"
|
||
|
echo >&2
|
||
|
usage >&2
|
||
|
exit 1
|
||
|
fi
|
||
|
exts+=( "$ext" )
|
||
|
done
|
||
|
|
||
|
if [ "${#exts[@]}" -eq 0 ]; then
|
||
|
usage >&2
|
||
|
exit 1
|
||
|
fi
|
||
|
|
||
|
for ext in "${exts[@]}"; do
|
||
|
(
|
||
|
cd "$ext"
|
||
|
[ -e Makefile ] || docker-php-ext-configure "$ext"
|
||
|
make
|
||
|
make install
|
||
|
ini="/usr/local/etc/php/conf.d/docker-php-ext-$ext.ini"
|
||
|
for module in modules/*.so; do
|
||
|
if [ -f "$module" ]; then
|
||
|
if grep -q zend_extension_entry "$module"; then
|
||
|
# https://wiki.php.net/internals/extensions#loading_zend_extensions
|
||
|
line="zend_extension=$(basename "$module")"
|
||
|
else
|
||
|
line="extension=$(basename "$module")"
|
||
|
fi
|
||
|
if ! grep -q "$line" "$ini" 2>/dev/null; then
|
||
|
echo "$line" >> "$ini"
|
||
|
fi
|
||
|
fi
|
||
|
done
|
||
|
make clean
|
||
|
)
|
||
|
done
|