I wrote something that I need for my projects and I think this could be useful for you too.
You can install the ionCube loader automatically during image creation with the following script.
# Change the tag as needed
FROM php:8.3-apache
COPY --chmod=775 ioncube-loader-setup.sh /tmp/ioncube-loader-setup.sh
RUN set -x && bash -c /tmp/ioncube-loader-setup.sh
# ioncube-loader-setup.sh
########################
# ionCube INSTALLATION #
########################
PHP_EXTENSION_DIR=$(php -r 'echo ini_get("extension_dir");')
echo "PHP_EXTENSION_DIR is $PHP_EXTENSION_DIR"
PHP_CONFIG_DIR=$(php -i | grep -ohP "with-config-file-scan-dir=([^']+)" | cut -d= -f2)
echo "PHP_CONFIG_DIR is $PHP_CONFIG_DIR"
PHP_VERSION=$(php -r 'list($major, $minor, $fix) = explode(".", phpversion(), 3); echo $major.".".$minor;')
echo "PHP_VERSION is $PHP_VERSION"
# Detect the correct ionCube loader architecture
IONCUBE_ARCH=""
ARCH=$(uname -m)
if [[ $ARCH == x86_64* ]]; then
IONCUBE_ARCH="x86-64"
elif [[ $ARCH == i*86 ]]; then
IONCUBE_ARCH="x86"
elif [[ $ARCH = aarch64 ]]; then
IONCUBE_ARCH="aarch64"
elif [[ $ARCH == arm* ]]; then
IONCUBE_ARCH="armv7l"
else
echo "Unsupported ionCube loader architecture!" 1>&2
exit 1
fi
echo "Detected ionCube loader architecture is $IONCUBE_ARCH based on $ARCH"
echo "Downloading the loader"
curl -O https://downloads.ioncube.com/loader_downloads/ioncube_loaders_lin_$IONCUBE_ARCH.tar.gz
echo "Extracting the loader"
tar -xzvf ioncube_loaders_lin_$IONCUBE_ARCH.tar.gz
LOADER_FILE=$(ls ioncube/*8.3*.so | cat)
LOADER_FILENAME=$(echo $LOADER_FILE | cut -d/ -f2)
if [ ! -f $LOADER_FILE ]; then
echo "No loader found for PHP $LOADER_LOADER_VERSION" 1>&2
exit 2
fi
echo "Copy loader file $LOADER_FILE to $PHP_EXTENSION_DIR"
cp $LOADER_FILE "$PHP_EXTENSION_DIR"
echo "Writing PHP config $PHP_CONFIG_DIR/00-ioncube.ini"
cat <<EOF | tee $PHP_CONFIG_DIR/00-ioncube.ini
zend_extension=$LOADER_FILENAME
EOF
# Cleanup
rm -rf ./ioncube
rm ioncube_loaders_lin_$IONCUBE_ARCH.tar.gz
rm -f "${0}"
https://gist.github.com/devtronic/e7780dfdb31f4aa6df261739ef987d77
Top comments (0)