Docker 中的 ionCube 加载器

Mary-Kate Olsen
发布: 2024-11-06 17:18:02
原创
929 人浏览过

ionCube Loader in Docker

我写了一些我的项目需要的东西,我认为这对你也有用。

您可以使用以下脚本在图像创建过程中自动安装 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中文网其他相关文章!

来源:dev.to
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!