Heim > Artikel > Backend-Entwicklung > ionCube Loader in Docker
Ich habe etwas geschrieben, das ich für meine Projekte benötige, und ich denke, das könnte auch für Sie nützlich sein.
Mit dem folgenden Skript können Sie den ionCube-Loader automatisch während der Image-Erstellung installieren.
# 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
Das obige ist der detaillierte Inhalt vonionCube Loader in Docker. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!