gpt4 book ai didi

Docker、Alpine、IonCube、PHP7 FPM

转载 作者:行者123 更新时间:2023-12-02 19:08:22 27 4
gpt4 key购买 nike

我正在尝试 Dockerize 使用 IonCube 加密的 PHP 应用程序。

该应用程序独立于 IonCube 运行良好,当我尝试使用精简图像(Docker、Alpine、PHP7.0)对其进行 Dockerize 时,它​​唯一的失败是围绕 IonCube 安装。

采取的步骤:

  • 按照显示的 IonCube 说明进行安装。
  • 尝试安装后,导航到 Docker 镜像中的目录以确认 COPY 已正确执行,并且使用“docker exec -it image_name/bin/sh”在镜像中显示所有相关文件。
  • 尽管文件按照上述命令显示并在检查图像后,Powershell 中的一条消息显示:“加载/usr/lib/php7/modules/ioncube_loader_lin_7.0.so 失败:重新定位/usr/lib/php7/modules/ioncube_loader_lin_7 时出错.0.so:__strtod_internal:未找到符号”。
  • 再次访问 docker 镜像“docker exec -it image_name/bin/sh”并显示文件。但它似乎无法加载 .SO 文件。
  • 最初认为可能是目录权限问题,但是当我将目录 chmod 更改为 777 时仍然没有运气。

  • 过去有没有人遇到过这个问题?

    Dockerfile 内容:
    FROM richarvey/nginx-php-fpm:php7
    COPY web /www
    RUN chmod -R 777 /usr/lib/php7/modules
    COPY web/ioncube/linux-64 /usr/lib/php7/modules
    COPY web/ioncube/linux-64-ini /etc/php7/conf.d
    WORKDIR /www

    IonCube loader-wizard.php 说明:
  • 下载以下适用于 Linux x86-64 的 Loaders 存档之一:
  • tar.gz
  • tar.bz2
  • 将 Loader 文件放入 /usr/lib/php7/modules
  • 编辑文件/etc/php7/conf.d/00_ioncube.ini 并且在任何其他 zend_extension 行之前确保包含以下内容: zend_extension =
    /usr/lib/php7/modules/ioncube_loader_lin_7.0.so
  • 重新启动服务器软件。

  • 仍然在执行上述操作后,检查相应文件是否存在于 Alpine 中的相应目录中,然后我销毁 docker 镜像,构建,然后运行它,但没有 Joy。然后我还尝试重新启动 docker 镜像而不是“docker rm image_name”,以防它破坏已安装的 IonCube 相关更改,但仍然没有运气。

    我有点不知所措。

    任何指针或指导表示赞赏。

    最佳答案

    问题的根源是因为 IonCube 需要 glibc (GNU C 库)。
    IonCube 在给我的一条推文中提到,这是他们 future 希望解决的问题。 (没有给出时间表)

    引用文献:https://en.wikipedia.org/wiki/GNU_C_Library

    关于Docker、Alpine、IonCube、PHP7 FPM,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45720815/

    27 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com