我写了一些我的项目需要的东西,我认为这对你也有用。
您可以使用以下脚本在图像创建过程中自动安装 ionCube 加载程序。
# 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
以上是Docker 中的 ionCube 加载器的详细内容。更多信息请关注PHP中文网其他相关文章!