Как загрузить загрузчик IonCube в образ Docker PHP-FPM?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Как загрузить загрузчик IonCube в образ Docker PHP-FPM?

Сообщение Anonymous »

Я пытаюсь использовать пробную версию полного пакета FPDI-Parser от Setasign, прежде чем совершить покупку лицензии, но не могу заставить пакет загрузиться правильно. Мой сайт работает хорошо, пока я не попытаюсь использовать некоторые инструменты, доступные только в пробной версии, и на моей странице появится сообщение об ошибке: Ошибка сценария: необходимо установить Ioncube Loader для PHP. Загрузчик ionCube — это стандартное PHP-расширение для запуска защищенного PHP-кода, которое обычно можно легко добавить в установку PHP. Для загрузчиков посетите get-loader.ioncube.com, а обучающее видео см. http://ioncu.be/LV
Я использую php:8.2- fpm Образ Docker для этого, и я включаю эти строки в файл docker, чтобы попытаться установить загрузчик Ioncube:
RUN curl -o ioncube.tar.gz http://downloads3.ioncube.com/loader_do ... -64.tar.gz \
&& tar -xvvzf ioncube.tar.gz \
&& mv ioncube/ioncube_loader_lin_8.2.so `php-config --extension-dir` \
&& rm -Rf ioncube.tar.gz ioncube \
&& docker-php-ext-enable ioncube_loader_lin_8.2

Но после запуска docker-compose --build up вывод php -v:
Warning: Failed loading Zend extension 'ioncube_loader_lin_8.2' (tried: /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2 (/usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2: cannot open shared object file: No such file or directory), /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so (/usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so: cannot open shared object file: No such file or directory)) in Unknown on line 0
PHP 8.2.21 (cli) (built: Jul 23 2024 07:02:30) (NTS)
Copyright (c) The PHP Group
Zend Engine v4.2.21, Copyright (c) Zend Technologies

Однако файл, похоже, существует, потому что, если я запущу его из того же каталога:
# ls -la /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so
Результат получен
-rw-rw-r-- 1 507 507 1761720 Jul 2 09:29 /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so
И если я запущу: файл /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so >
Результат получен
/usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so: ELF 64-bit LSB shared object, x86-64, version 1 (SYSV), dynamically linked, stripped
НО если я запущу: ldd /usr/local/lib/php/extensions/no-debug-non-zts-20220829/ioncube_loader_lin_8.2.so >
Я понимаю
not a dynamic executable
Я очень не понимаю, почему этот файл не загружается. Если у кого-то есть какие-либо идеи или вам нужна дополнительная информация, пожалуйста, не стесняйтесь.
Редактировать:
Содержание моего Dockerfile:
FROM php:8.2-fpm

RUN apt-get update && apt-get install -y libmcrypt-dev zlib1g-dev libpng-dev libzip-dev\
mariadb-client libmagickwand-dev --no-install-recommends \
&& pecl install imagick \
&& pecl install apcu \
&& pecl install mcrypt \
&& docker-php-ext-enable imagick apcu \
&& docker-php-ext-enable mcrypt \
&& docker-php-ext-install pdo_mysql \
&& docker-php-ext-install zip \
&& docker-php-ext-install gd \
&& docker-php-ext-enable gd \
&& docker-php-ext-enable zip

RUN curl -o ioncube.tar.gz http://downloads3.ioncube.com/loader_do ... -64.tar.gz \
&& tar -xvvzf ioncube.tar.gz \
&& mv ioncube/ioncube_loader_lin_8.2.so `php-config --extension-dir` \
&& rm -Rf ioncube.tar.gz ioncube \
&& docker-php-ext-enable ioncube_loader_lin_8.2

WORKDIR /var/www

COPY --from=composer /usr/bin/composer /usr/bin/composer

Результат вызова docker-compose build --progress Plain:

0 building with "desktop-linux" instance using docker driver

#1 [app internal] load .dockerignore
#1 transferring context: 2B done
#1 DONE 0.0s

#2 [app internal] load build definition from app.dockerfile
#2 transferring dockerfile: 3.58kB done
#2 DONE 0.0s

#3 [app internal] load metadata for docker.io/library/composer:latest
#3 DONE 2.2s

#4 [app internal] load metadata for docker.io/library/php:8.2-fpm
#4 DONE 2.2s

#5 [app stage-0 1/5] FROM docker.io/library/php:8.2-fpm@sha256:f40ee21ed5b42d0ae6ff95aaa7e619a8701d96aa754eafc8fc7870eb455ce0eb
#5 resolve docker.io/library/php:8.2-fpm@sha256:f40ee21ed5b42d0ae6ff95aaa7e619a8701d96aa754eafc8fc7870eb455ce0eb done
#5 DONE 0.0s

#6 [app] FROM docker.io/library/composer@sha256:b7e5711118e4be186ef635d841a23325d78eae9de59503074a5b588bc04a0407
#6 resolve docker.io/library/composer@sha256:b7e5711118e4be186ef635d841a23325d78eae9de59503074a5b588bc04a0407 0.0s done
#6 DONE 0.0s

#7 [app stage-0 4/5] WORKDIR /var/www
#7 CACHED

#8 [app stage-0 2/5] RUN apt-get update && apt-get install -y libmcrypt-dev zlib1g-dev libpng-dev libzip-dev mariadb-client libmagickwand-dev --no-install-recommends && pecl install imagick && pecl install apcu && pecl install mcrypt && docker-php-ext-enable imagick apcu && docker-php-ext-enable mcrypt && docker-php-ext-install pdo_mysql && docker-php-ext-install zip && docker-php-ext-install gd && docker-php-ext-enable gd && docker-php-ext-enable zip
#8 CACHED

#9 [app stage-0 3/5] RUN curl -o ioncube.tar.gz http://downloads3.ioncube.com/loader_do ... -64.tar.gz && tar -xvvzf ioncube.tar.gz && mv ioncube/ioncube_loader_lin_8.2.so `php-config --extension-dir` && rm -Rf ioncube.tar.gz ioncube && docker-php-ext-enable ioncube_loader_lin_8.2
#9 CACHED

#10 [app stage-0 5/5] COPY --from=composer /usr/bin/composer /usr/bin/composer
#10 CACHED

#11 [app] exporting to image
#11 exporting layers done
#11 writing image sha256:79082b1d1fa77aea678606d39de90314a5afcbc1005a3f39c85e8588458aa580 done
#11 naming to docker.io/library/aicc-comm-laravel-9-app done
#11 DONE 0.0s

#12 [web internal] load .dockerignore
#12 transferring context: 2B done
#12 DONE 0.0s

#13 [web internal] load build definition from web.dockerfile
#13 transferring dockerfile: 104B done
#13 DONE 0.0s

#14 [web internal] load metadata for docker.io/library/nginx:1.23
#14 DONE 1.4s

#15 [web 1/2] FROM docker.io/library/nginx:1.23@sha256:f5747a42e3adcb3168049d63278d7251d91185bb5111d2563d58729a5c9179b0
#15 DONE 0.0s

#16 [web internal] load build context
#16 transferring context: 69B done
#16 DONE 0.0s

#17 [web 2/2] ADD vhost.conf /etc/nginx/conf.d/default.conf
#17 CACHED

#18 [web] exporting to image
#18 exporting layers done
#18 writing image sha256:4552dcf435c8f139caee192002dda3984eed1db65cdd0cba95751a77c6a286f2 done
#18 naming to docker.io/library/aicc-comm-laravel-9-web done
#18 DONE 0.0s


Подробнее здесь: https://stackoverflow.com/questions/787 ... cker-image
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Как загрузить загрузчик IonCube в образ Docker PHP-FPM?
    Anonymous » » в форуме Php
    0 Ответы
    26 Просмотры
    Последнее сообщение Anonymous
  • Отсутствует /var/run/php-fpm/php7.4-fpm.sock или /var/run/php-fpm/
    Anonymous » » в форуме Php
    0 Ответы
    164 Просмотры
    Последнее сообщение Anonymous
  • Отсутствует /var/run/php-fpm/php7.4-fpm.sock или /var/run/php-fpm/
    Anonymous » » в форуме Php
    0 Ответы
    50 Просмотры
    Последнее сообщение Anonymous
  • Как установить загрузчик ioncube в веб-контейнер DDEV-Local?
    Гость » » в форуме Php
    0 Ответы
    70 Просмотры
    Последнее сообщение Гость
  • Загрузчик IonCube установлен, но не активируется на моем сервере
    Anonymous » » в форуме Php
    0 Ответы
    19 Просмотры
    Последнее сообщение Anonymous

Вернуться в «Php»