Maison >développement back-end >tutoriel php >Chargeur ionCube dans Docker
J'ai écrit quelque chose dont j'ai besoin pour mes projets et je pense que cela pourrait être utile pour vous aussi.
Vous pouvez installer automatiquement le chargeur ionCube lors de la création de l'image avec le script suivant.
# 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 ""
https://gist.github.com/devtronic/e7780dfdb31f4aa6df261739ef987d77
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!